Javascript 如果所选选项达到特定计数,如何禁用react select中的选项?
我在使用react select的Javascript 如果所选选项达到特定计数,如何禁用react select中的选项?,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我在使用react select的isOptionDisabledprop时遇到问题。我有一个对象数组,如下所示: const fetchData = [ { x_position: 0, y_position: 0, isDisabled: 'false' }, { x_position: 0, y_position: 1, isDisabled: 'false' }, { x_position: 0, y_position: 2, isDisabled: 'fals
isOptionDisabled
prop时遇到问题。我有一个对象数组,如下所示:
const fetchData = [
{ x_position: 0, y_position: 0, isDisabled: 'false' },
{ x_position: 0, y_position: 1, isDisabled: 'false' },
{ x_position: 0, y_position: 2, isDisabled: 'false' },
{ x_position: 0, y_position: 3, isDisabled: 'false' },
{ x_position: 0, y_position: 4, isDisabled: 'false' }
];
上面的数组是我从useEffect钩子中的API获取的。这是数组的初始状态。我现在有一个react select,我将其实现为:
<Select
isMulti
value={selectedOptions}
components={{ Option }}
closeMenuOnSelect={false}
hideSelectedOptions={false}
options={fetchData}
defaultValues={[]}
isOptionDisabled={option => option.isDisabled}
onChange={x => {
setSelectedOptions(x);
if (selectedOptions && selectedOptions.length === 8) {
choicesMaxedOut();
}
}}
/>
条件是,当所选选项计数为8时,应禁用这些选项。然而,事情并非如此。它会禁用一段时间,然后再次启用输入。如何做到这一点?请帮帮我
const choicesMaxedOut = () => {
resourcesCount.forEach(r => (r.isDisabled = true));
};