Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果所选选项达到特定计数,如何禁用react select中的选项?_Javascript_Reactjs_Ecmascript 6 - Fatal编程技术网

Javascript 如果所选选项达到特定计数,如何禁用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

我在使用react select的
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));
  };