【发布时间】:2020-04-01 13:59:36
【问题描述】:
我在组件中有一个渲染函数,负责在页面上渲染控件。到目前为止,它工作正常。
render()
{
render
(
{this.state.Inputs.map(input => {
if (input.CODE === "VARIABLE") {
return (
<div className="row p-1">
<div className="col-sm-4">
<label>
<b>{input.LABEL_NAME}</b>
</label>
</div>
<div className="col-sm-6">
{this.renderControl(input.WIDGET_TYPE)}
<br />
</div>
</div>
);
}
})
)
}
下面是我的 renderControl() 函数。当我在页面上渲染它时,我想为每个控件生成唯一的 id。我不知道该怎么做。能否请你帮忙。提前致谢。
renderControl = controlName => {
switch (controlName) {
case "INTEGER":
case "TEXTBOX":
case "MEDIUM_TEXTBOX":
case "NUMBER":
return <input type="text" width="70%" className="txtSize" />;
case "DROPDOWN":
case "DIALOG":
return <Dropdown />;
case "DATE":
return (
<DatePicker
selected={this.state.startDate}
onChange={this.handleChange}
/>
);
case "DIALOG":
return <Dropdown />;
case "BOOLEAN":
return (
<div className="some-class">
<input type="radio" className="radio" name="x" value="y" id="y" />
<label htmlFor="y">Yes</label>
<input type="radio" className="radio" name="x" value="z" id="z" />
<label htmlFor="z">No</label>
</div>
);
default:
return;
}
};
【问题讨论】:
-
从 map 函数中传递索引。
-
@ritaj 你能帮忙举个例子吗?谢谢
-
当然,已发布答案。
标签: javascript reactjs unique-key