import React from 'react';
import StaffItem from './StaffItem.js';
export default class StaffItemPanel extends React.Component{
click() {
if (CheckAll.checked == true)
for (var i = 0; i < CheckBox.length; i++) {
CheckBox[i].checked = false;
};
if (CheckAll.checked == false)
for (var i = 0; i < CheckBox.length; i++) {
CheckBox[i].checked = true;
};
for (var i = 0; i < CheckBox.length; i++) {
if (CheckBox[i].checked == true) {
CheckBox[i].checked = false;
}
else {
CheckBox[i].checked = true;
}
};
}
render(){
let items = [];
var CheckAll = document.getElementById('All');
var CheckBox = document.getElementsByName('box');
if(this.props.items.length == 0) {
items.push(<tr><th colSpan="5" className="tempEmpty">暂无用户</th></tr>);
}else {
this.props.items.forEach(item => {
items.push(<StaffItem key={item.key} item={item} removeStaffItem={this.props.removeStaffItem} detailStaffItem={this.props.detailStaffItem}/>);
});
}
return (
<table className='itemPanel'>
<thead>
<th> <input type="checkbox" id='all' onClick={this.click.bind(this)}/> </th>
<th className='itemTd'>姓名</th>
<th className='itemTd'>年龄</th>
<th className='itemTd'>身份</th>
<th className='itemTd'>性别</th>
<th className='itemTd'>操作</th>
</thead>
<tbody>{items}</tbody>
</table>
);
}
}
把id为all的元素传送给CheckAll发送不过去,是什么原因。
xieming01
#1
Zinc925
#2
兄弟,你看些官方文档表单一节(多个输入的解决方法)(https://doc.react-china.org/docs/forms.html),可不是你这么写的喔
<input type="checkbox" id='all' onClick={this.click.bind(this)}/>
这句就不对啦
<input type="checkbox" checked={this.state.value} id='all' onChange={this.click.bind(this)}/>
触发事件后this.state.value设置为true就可以选中了。