reactjs - 在reactjs中制作复选框必填字段
问题描述
我是反应 js 的新手。我想确保用户必须使用 reactjs 选择至少 1 个复选框。我采用的复选框值是动态的,即 zone_name。下面是代码:
addCheckbox() {
const { zones_to_render_to_render } = this.state,
label = this.refs.label.value;
zones_to_render_to_render.push({
checked: true,
label
});
this.setState({
zones_to_render_to_render: zones_to_render_to_render.zone_name
});
}
toggleCheckbox(event) {
event.preventDefault()
const { zones_to_render_to_render } = this.state;
zones_to_render_to_render.checked = !zones_to_render_to_render.checked;
this.setState({
zones_to_render_to_render
});
}
renderCheckboxes() {
const { zones_to_render_to_render, filter } = this.state;
console.log(zones_to_render_to_render, filter)
return zones_to_render_to_render
.filter(checkbox =>
filter === 'ALL' ||
filter === 'CHECKED' && checkbox.checked ||
filter === 'UNCHECKED' && !checkbox.checked
)
.map((checkbox, index) =>
// console.log(checkbox, index)
<div key={index}>
<label>
<input
type="checkbox"
checked={checkbox.checked}
onChange={this.toggleCheckbox.bind(index)}
/>
{checkbox.zone_name}
</label>
</div>
);
}
如果不选择至少 1 个复选框,则不应允许。
解决方案
推荐阅读
- data-structures - 使用包含获取 DDIC 结构的组件
- r - 将列表作为元素添加到数据框
- drupal - 如何升级已经随 Drupal Commerce 分发的模块?
- c++ - 如何将向量中的某些内容与字符进行比较?
- scala - 将数据框旋转到固定的列数 spark sql
- angular - 如何在基于组件的提供者中即时替代服务类实现?
- ios - appcelerator:Ti.Geolocation.reverseGeocoder 使应用程序崩溃
- c - 在 Eclipse 中使用板模拟器调试代码(无硬件)
- ajax - f:ajax listener on event=change 未在 ui:repeat 中调用
- python - 压缩一个空的可迭代对象