【发布时间】:2019-12-31 09:11:18
【问题描述】:
我正在使用复选框输入。当我点击复选框时,复选框不显示选中,但我仍然得到复选框的值。我使用 React JS
简单的复选框
import React from 'react';
import callApi from './../../utils/apiCaller'
import { Link } from 'react-router-dom'
class ProductActionPage extends React.Component {
constructor(props) {
super(props);
this.state = {
id: '',
productStatus: ''
}
}
onChange = (e) => {
var target = e.target;
var name = target.name;
var value = target.type === 'checkbox' ? target.checked : target.value;
this.setState({
[name]: value
});
}
render() {
var statusCheckbox = this.state.productStatus === 'true' ? true : false;
return (
<div className="row">
<div className="col-xs-6 col-sm-6 col-md-6 col-lg-6">
<div className="form-group">
<label>Trang thai: </label>
</div>
<div className="checkbox">
<label>
<input type="checkbox" checked={statusCheckbox} name="productStatus" onChange={this.onChange} />
Con hang
</label>
</div>
<button type="submit" className="btn btn-primary">Luu lai</button>
<Link to="/product/list" className="btn btn-danger ml-5">Huy bo</Link>
</div>
</div>
);
}
}
如何显示选中的复选框?
【问题讨论】:
-
我猜
this.state.productStatus === 'true'必须是真的......在您的代码中为state.productStatus设置的唯一值是'' -
你的意思是我必须设置 status.productStatus: false or true???
-
我的意思是要检查复选框,productStatus(使用您的代码)必须完全是字符串
"true"才能发生这种情况
标签: javascript reactjs checkbox