Skip to content

Commit 8b8f3b1

Browse files
committed
update demo
1 parent da162fd commit 8b8f3b1

File tree

1 file changed

+41
-35
lines changed

1 file changed

+41
-35
lines changed

examples/switch.tsx

Lines changed: 41 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/* eslint-disable jsx-a11y/label-has-associated-control, jsx-a11y/label-has-for */
12
import * as React from 'react';
23
import List from '../src/List';
34

@@ -35,50 +36,55 @@ function getData(count: number) {
3536

3637
const Demo = () => {
3738
const [height, setHeight] = React.useState(200);
38-
const [state, setState] = React.useState<number>(1);
39-
40-
const data = React.useMemo(() => {
41-
switch (state) {
42-
case 0:
43-
return getData(1000);
44-
case 1:
45-
return getData(2);
46-
default:
47-
return getData(0);
48-
}
49-
}, [state]);
39+
const [data, setData] = React.useState(getData(2));
5040

5141
return (
5242
<React.StrictMode>
5343
<div>
5444
<h2>Switch</h2>
55-
56-
<button
57-
type="button"
58-
onClick={() => {
59-
setState((state + 1) % 3);
45+
<span
46+
onChange={(e: any) => {
47+
setData(getData(Number(e.target.value)));
6048
}}
6149
>
62-
Switch
63-
</button>
64-
<button
65-
type="button"
66-
onClick={() => {
67-
switch (height) {
68-
case 200:
69-
setHeight(0);
70-
break;
71-
case 0:
72-
setHeight(100);
73-
break;
74-
default:
75-
setHeight(200);
76-
break;
77-
}
50+
Data
51+
<label>
52+
<input type="radio" name="switch" value={0} />0
53+
</label>
54+
<label>
55+
<input type="radio" name="switch" value={2} />2
56+
</label>
57+
<label>
58+
<input type="radio" name="switch" value={100} />
59+
100
60+
</label>
61+
<label>
62+
<input type="radio" name="switch" value={200} />
63+
200
64+
</label>
65+
<label>
66+
<input type="radio" name="switch" value={1000} />
67+
1000
68+
</label>
69+
</span>
70+
<span
71+
onChange={(e: any) => {
72+
setHeight(Number(e.target.value));
7873
}}
7974
>
80-
Height
81-
</button>
75+
| Height
76+
<label>
77+
<input type="radio" name="switch" value={0} />0
78+
</label>
79+
<label>
80+
<input type="radio" name="switch" value={100} />
81+
100
82+
</label>
83+
<label>
84+
<input type="radio" name="switch" value={200} />
85+
200
86+
</label>
87+
</span>
8288

8389
<List
8490
data={data}

0 commit comments

Comments
 (0)