diff --git a/src/Select/SelectItem.svelte b/src/Select/SelectItem.svelte
index 9bb6b556..5a5abac8 100644
--- a/src/Select/SelectItem.svelte
+++ b/src/Select/SelectItem.svelte
@@ -55,5 +55,5 @@
class={className}
{style}
>
- {text || value}
+ {text ?? value}
diff --git a/tests/Select/Select.falsy.test.svelte b/tests/Select/Select.falsy.test.svelte
new file mode 100644
index 00000000..2583be30
--- /dev/null
+++ b/tests/Select/Select.falsy.test.svelte
@@ -0,0 +1,9 @@
+
+
+
diff --git a/tests/Select/Select.test.ts b/tests/Select/Select.test.ts
index 5e442323..1d4800b4 100644
--- a/tests/Select/Select.test.ts
+++ b/tests/Select/Select.test.ts
@@ -3,6 +3,7 @@ import { user } from "../setup-tests";
import Select from "./Select.test.svelte";
import SelectGroup from "./Select.group.test.svelte";
import SelectSkeleton from "./Select.skeleton.test.svelte";
+import SelectFalsy from "./Select.falsy.test.svelte";
describe("Select", () => {
beforeEach(() => {
@@ -238,4 +239,11 @@ describe("Select", () => {
expect(skeleton).toBeInTheDocument();
expect(skeleton.children[0]).toHaveClass("bx--skeleton");
});
+
+ it("renders value if `text` is falsy", () => {
+ render(SelectFalsy);
+
+ expect(screen.getByLabelText("Falsy text")).toHaveValue("-1");
+ expect(screen.getByDisplayValue("")).toBeInTheDocument();
+ });
});