onValueChange
应该给
<Select>
。您可以在中找到
Radix UI docs
shad cn在引擎盖后面使用的。
它发送一个字符串值,因此在设置状态之前必须解析为int,或者只将状态作为字符串类型。
那就是
const [practices, setPractices] = useState(1);
const handleStringToInt = (value: string) => {
setPractices(parseInt(value))
}
...
<Select onValueChange={handleStringToInt}>
<SelectTrigger className="w-[60px]">
<SelectValue placeholder="0" />
</SelectTrigger>
<SelectContent>
<SelectItem value="1">1</SelectItem>
<SelectItem value="2">2</SelectItem>
<SelectItem value="3">3</SelectItem>
<SelectItem value="4">4</SelectItem>
<SelectItem value="5">5</SelectItem>
<SelectItem value="6">6</SelectItem>
</SelectContent>
</Select>
或
const [practices, setPractices] = useState("1");
<Select onValueChange={setPractices}>
<Select onValueChange={setPractices}>
等于
<Select onValueChange={(val) => setPractices(val)}>
在这里
Stackblitz