reactjs - 如何在reactjs中使用MDBSelect在下拉列表中使用“全选”选项?
问题描述
如何使用 MDBootstrap 在下拉列表中添加“全选”选项,这将选择下拉列表的所有选项。我已经使用了下面的代码,但不幸的是它不起作用。我已经使用 Select All 函数将它传递给 MDBSelect。
class DropDowm extends Component {
constructor(props) {
super(props)
this.state = { data: this.prepareData(peops.data)} //data is in array form
}
prepareData = (data) => {
var mapper = data.map(x => {
return {value: x, display: x}
})
return [{value: 'selectAll', display: 'Select All'}].concat(mapper)
}
toggleAll = (checked) => {
const {data} = this.state;
for (var i = 1; i <= data.length; i++){
data[i].checked = checked;
}
this.setState({data});
};
handleChange = (value,checked) => {
console.log("in handle change", value,checked)
if (value === "selectAll") {
this.toggleAll(value, checked)
}
};
render() {
return (
<div className="col-sm-3 px-2">
<label>Select the data</label>
<MDBSelect data = {this.state.data} getValue={(value, checked)=>{this.handleChange(value, checked)}} multiple>
<MDBSelectInput selected = "Select" />
<MDBSelectOptions>
{this.state.data.map((ques) => {
return(
<MDBSelectOption value = {ques.value}>{ques.display}</MDBSelectOption>
)
})}
</MDBSelectOptions>
</MDBSelect>
</div>
)
}
}
解决方案
推荐阅读
- matlab - 具有不同数据类型的 Matlab 字符串连接行为
- camera - IMFTransform 隐蔽摄像机流颜色格式,IMFTransform::ProcessOutput 返回冻结图像数据
- python - Print Each Sentence On New Line
- javascript - 如何使用forEach循环javascript对对象数组进行排序
- javascript - 将带有 CSS 的 div 添加到 DOM
- c++ - C++ OpenMp 使用一个线程处理整个代码
- android - Listview 风格像斑马条纹
- php - 以编程方式设置挂钩异常
- reactjs - 将 setState 对象键与条件事件目标反应
- matplotlib - 在颜色图中定义一个区域并返回平均像素值的函数