简体   繁体   English

从 react-select isMulti 禁用特定选项 reactjs

[英]Disable specific option from react-select isMulti reactjs

How should I disable specific options from react-select isMulti based on the condition provided.我应该如何根据提供的条件从 react-select isMulti 中禁用特定选项。

import Select from 'react-select'
const Systems = () => {
  const [dataSystems, setdataSystems] = useState([])
  const [systemDetails, setsystemDetails] = useState({
    SYSTEMID: 1,
    ......
  })

  const getSystems = async() => {
   await axios.get('/API')
     .then(response => {
       setdataSystems(response.data)
     })
  }

const [multiSelected, setmultiSelected] = useState();
var handleMultiSelect = (e) => {
  setmultiSelected(Array.isArray(e)?e.map(x=> x.value):[]);
}

const bodyInsertDepSystem = (
  .......
  <Select
    isMulti
    options = {dataSystems.map(e => ({ label: e.SYSTEMALIAS, value: e.SYSTEMID }))}
    onChange = {handleMultiSelect} > </Select>
)


}

What I want to do is to remove the disable the SYSTEMID from the dropdown that has same ID as systemDetails.SYSTEMID.我想要做的是从与 systemDetails.SYSTEMID 具有相同 ID 的下拉列表中删除禁用 SYSTEMID。

Hope that you can help me with this.希望你能帮我解决这个问题。

What I really doing on this: During edit I want to relate one SYSTEMID to multiple SYSTEMID but I want to disable or remove that has same SYSTEMID我在这方面真正做的是:在编辑过程中,我想将一个 SYSTEMID 与多个 SYSTEMID 相关联,但我想禁用或删除具有相同 SYSTEMID 的那个

<Select
  isMulti
  options = {dataSystems.map(e => ({
    label: e.SYSTEMALIAS,
    value: e.SYSTEMID
    isDisabled: e.SYSTEMID == systemDetails.SYSTEMID ? true: null
    }))}
  onChange = {handleMultiSelect}>
</Select>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM