【发布时间】:2020-03-24 14:21:09
【问题描述】:
我在加载时使用 react-select 和预选选项(从状态)。使用多选真。 当我单击选择框时,它仍然显示已经显示的选项。如何从选项列表中删除这些?
这是我的代码:
const options = []
{
deviceData ? deviceData.forEach((element, key) => {
options.push({ value: element.id, label: element.area })
}) : null;
}
<Select isMulti
isSearchable
value={defaultSelected}
onChange={handleChange}
options={options}
/>
function handleChange(selectedOption) {
setDefaultSelected(selectedOption)
};
async function getRooms(deviceIds) {
... // filterring logic to select multiple options load
... filteredDevices.push({ value: index, label: devicesAll.area })
setDefaultSelected(filteredDevices) // This loads pre-selected values to multi select box.
}
更新: 我注意到只有当我提供值作为索引时,预选才有效(值 = {defaultSelected})。 所以我在下面作为“defaultSelected”值传递 value: number
可能是因为这个原因,它在加载时没有过滤来自 select 的值? console.log(filteredDevices)
{ id: "5d25f9d2dc4aea7838b0aa9f" label: "会议室 2" value: 0 }
如果您需要更多代码来理解这个问题,请告诉我。谢谢
【问题讨论】:
标签: javascript reactjs react-hooks react-select