javascript - 为流畅的 ui 下拉菜单创建处理程序,使用 React 状态的动态名称
问题描述
我有一个下拉菜单:
<Dropdown
id="JobPlanDD"
selectedKey={(this.state["JobPlanDD-option"]) ? (this.state["JobPlanDD-option"]).key : undefined}
placeholder="Select..."
onChange={(e, i) => this.handleChange(e, i)}
options={jobPlanDDOptions}
/>
而且我有一个处理该下拉菜单的处理程序以及我将来制作的任何其他内容:
const id = evt.target.querySelector('span').id;
const theItem = item.text;
this.setState({
[id]: theItem
});
对于这个特殊的下拉菜单,我被告知要JobPlanDD-option
在该selectedKey
属性中使用,但我不明白为什么。
由于处理程序,我设法记录了特定下拉列表的 id
const id = evt.target.querySelector('span').id;
但它返回JobPlanDD-option
不能是状态,因为它有连字符或减号。
有人可以向我解释这里发生了什么吗?
我已经阅读了这篇文章,虽然它描述了很多,但它并不完全适合我的问题: Reactjs setState() with a dynamic key name?
解决方案
需要轻推一下:正在设置动态状态,这正是我需要编写它才能使用它的方式:
console.log(this.state["JobPlanDD-option"], 'state.JobPlanDD')
盯着我的脸...
推荐阅读
- javascript - MTN MOMO API CreateAPI 用户 - 401 访问被拒绝
- c# - 使用 TSPL/TSPL2 和 C# 获取打印机状态
- mongodb - 使用 express 和 mongodb 存储到具有单个对象数据的多个文档中
- windows - 有没有办法可以将我的外部硬盘捕获为可移动驱动器
- php - 无法对另一个 Laravel 网站执行 API 调用
- javascript - 是的,基于其他字段值的多重条件验证
- google-cloud-platform - Google Cloud AI 平台 -- 未检测到正在运行的 VM 实例
- python - 在 plotly dash 上创建条形图的问题
- typescript - Typscript 错误 2322 - 无法初始化 2 个可选索引签名的通用类型联合的常量
- python - 在 Python 中从给定数组创建一组子数组