javascript - 获取 React-select 分组选项的父值

标签 javascript reactjs react-select

我正在使用带有分组选项的react-select,它们的分组如下:

{
  label: PARENT_NAME,
  value: PARENT_ID,
  options: [
    {
      label: CHILD_NAME,
      value: CHILD_ID,
    }
  ]
}

我有一个包含这些选项的数组,我将其传递给组件,如下所示:

<Select
  options={ARR_OF_OPTIONS}
  onChange={this.handleChange("name")}
/>

我的handleChange函数是这样的:

handleChange = name => selectedOption => {
  const value = selectedOption.value
  this.setState({ [name]: value, })
}

我的问题是: 选择子选项时是否可以获取PARENT_ID?

希望我说清楚了。

提前致谢

最佳答案

每个选项都可以有更多属性

{
  label: PARENT_NAME,
  value: PARENT_ID,
  options: [
    {
      label: CHILD_NAME,
      value: CHILD_ID,

      // additional properties
      group: PARENT_ID,
      otherValue: OTHER_VALUE,
    }
  ]
}

selectedOption 是一个对象 - 您可以轻松访问groupotherValue

handleChange = name => selectedOption => {
  const value = selectedOption.value
  console.log("group", selectedOption.group )
  this.setState({ [name]: value, })
}

此方法(基于原始的 react 选择分组示例)会重复数据(在本例中),但对于值可以存在于多个组中的情况(无法通过比较值可靠地找到)来说是安全的。

关于javascript - 获取 React-select 分组选项的父值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62076434/

相关文章:

javascript - 尽管异步计算,Redux 最小状态?

javascript - 将 optionRenderer 与 Select.Aysnc 结合使用( react 选择)

reactjs - 如何动态加载多选? [ react 选择]

javascript - 按钮在 Chrome 和 Firefox 上的行为有所不同

javascript - 调整 jquery 以滑动 div 而不是 window.scrollX - 滑动整个窗口

javascript - 如何将 Vanilla Javascript 与 ReactJS 添加/混合

reactjs - React select loadOptions 没有在第二次渲染中被调用

javascript - jQuery UI 可排序 - 重叠 50% 似乎不起作用

javascript - forEach 中的 If/Else 仅添加段落而不添加标题,但在本地它正在工作(React 和 Editor.js)

javascript - react 中的条件渲染