【发布时间】:2019-06-25 11:34:34
【问题描述】:
我正在尝试使用语义 UI 反应创建动态复选框我有以下结构的对象。我希望复选框值应应用于此数组中的特定对象。我无法使用下面提供的更改处理程序来做到这一点。有人可以帮我解决这个问题吗?
沙盒:https://codesandbox.io/s/suspicious-pine-r5dpi
import { Checkbox } from "semantic-ui-react";
checkboxArray = [
{name: "firstName", value: "firstName", show: true, displayValue: " First Name"},
{name: "status", value: "status", show: true, displayValue: " Status "},
{name: "visits", value: "visits", show: true, displayValue: " Visits "}
];
Checkbox Change Handler
--------------------------
handleItemClick = (e,data) => {
console.log(data.checked);
this.setState({ [data.name]: data.checked });
};
Inside Render
----------------
{this.state.optionsArr.map((item, i) => (
<div key={i}>
<Checkbox
name={item.name}
onChange={this.handleItemClick}
checked={item.show}
label={item.displayValue}
/>
</div>
))}
【问题讨论】:
-
您能展示一下您所在州的情况吗?
-
@Claeusdev 我在问题中给出的状态对象。它与 checkboxArray 相同。我可以带上复选框,但复选框上的操作不起作用。我希望根据该对象的复选框更改来更新显示属性
-
@Claeusdev 更新了问题,并提供了代码框的链接
-
我没有看到代码框有任何问题。还是已经解决了?
-
@Claeusdev 是的,沙箱工作正常。在 application 中, event.target.checked 未定义。 event.target 以 的形式出现。所以它没有设置。知道为什么吗? object.show = event.target.checked 值未定义,在沙盒中为真/假