Skip to content

Commit 35f122b

Browse files
Merge pull request #749 from gparlakov/docs-update-select-controlled-example-to-use-ids
chore: update select controlled example
2 parents 14151dc + 52cda4b commit 35f122b

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

apps/website/src/routes/docs/headless/select/examples/controlled-value.tsx

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,33 @@ import { $, component$, useSignal, useStyles$ } from '@builder.io/qwik';
22
import { Select } from '@qwik-ui/headless';
33
export default component$(() => {
44
useStyles$(styles);
5-
const users = ['Tim', 'Ryan', 'Jim', 'Jessie', 'Abby'];
6-
const selected = useSignal<string>('Ryan');
5+
const users = [
6+
{ id: '0', name: 'Tim' },
7+
{ id: '1', name: 'Ryan' }, // 👈 start with Ryan
8+
{ id: '2', name: 'Jim' },
9+
{ id: '3', name: 'Jessie' },
10+
{ id: '4', name: 'Abby' },
11+
];
12+
const selectedId = useSignal<string>('1');
713

814
return (
915
<>
10-
<Select.Root bind:value={selected} class="select">
16+
<Select.Root bind:value={selectedId} class="select">
1117
<Select.Label>Logged in users</Select.Label>
1218
<Select.Trigger class="select-trigger">
1319
<Select.DisplayText placeholder="Select an option" />
1420
</Select.Trigger>
1521
<Select.Popover class="select-popover">
1622
<Select.Listbox class="select-listbox">
17-
{users.map((user, index) => (
18-
<Select.Item value={index.toString()} key={user}>
19-
<Select.ItemLabel>{user}</Select.ItemLabel>
23+
{users.map((user) => (
24+
<Select.Item value={user.id} key={user.id}>
25+
<Select.ItemLabel>{user.name}</Select.ItemLabel>
2026
</Select.Item>
2127
))}
2228
</Select.Listbox>
2329
</Select.Popover>
2430
</Select.Root>
25-
<button onClick$={$(() => (selected.value = '4'))}>Change to Abby</button>
31+
<button onClick$={$(() => (selectedId.value = '4'))}>Change to Abby</button>
2632
</>
2733
);
2834
});

0 commit comments

Comments
 (0)