@@ -2,27 +2,33 @@ import { $, component$, useSignal, useStyles$ } from '@builder.io/qwik';
2
2
import { Select } from '@qwik-ui/headless' ;
3
3
export default component$ ( ( ) => {
4
4
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' ) ;
7
13
8
14
return (
9
15
< >
10
- < Select . Root bind :value = { selected } class = "select" >
16
+ < Select . Root bind :value = { selectedId } class = "select" >
11
17
< Select . Label > Logged in users</ Select . Label >
12
18
< Select . Trigger class = "select-trigger" >
13
19
< Select . DisplayText placeholder = "Select an option" />
14
20
</ Select . Trigger >
15
21
< Select . Popover class = "select-popover" >
16
22
< 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 >
20
26
</ Select . Item >
21
27
) ) }
22
28
</ Select . Listbox >
23
29
</ Select . Popover >
24
30
</ Select . Root >
25
- < button onClick$ = { $ ( ( ) => ( selected . value = '4' ) ) } > Change to Abby</ button >
31
+ < button onClick$ = { $ ( ( ) => ( selectedId . value = '4' ) ) } > Change to Abby</ button >
26
32
</ >
27
33
) ;
28
34
} ) ;
0 commit comments