- Published on
选项框数据回显
最近在做crud的项目,搜索项的数据会保存在url中,当刷新页面,select的options又需要通过接口返回,这时候antd的select就会显示value,需要通过反写label,antd中添加labelInValue,这时候选中的value就变成了一个包含label和value属性的对象。
import { useRequest } from "ahooks"
import { Select } from "antd"
import { DefaultOptionType } from "antd/es/select"
import { useState } from "react"
export default function App() {
const { data: options } = useRequest(async () => {
return (await new Promise(resolve => {
setTimeout(() => {
resolve([
{ label: "苹果", value: "apple" },
{ label: "香蕉", value: "banana" },
{ label: "橘子", value: "orange" },
{ label: "梨", value: "pear" }
])
}, 2000)
})) as DefaultOptionType[]
})
const [value, setValue] = useState<DefaultOptionType>({ label: "苹果", value: "apple" })
return (
<div className="h-screen flex items-center justify-center">
<Select labelInValue={true} value={value} onChange={setValue} options={options} className="!w-[200px]"></Select>
</div>
)
}