Javascript 如何从react引导复选框中获取值/属性?
我正在尝试使用react bootstrap复选框(),需要在事件改变状态时触发事件。能够以编程方式取消/检查它和/或告诉它是否已检查,这也将非常好。不幸的是,当代码被传输和呈现时,它将输入包装在一个div中 如何在dom中找到它并对其进行操作 我的代码与此类似:Javascript 如何从react引导复选框中获取值/属性?,javascript,reactjs,checkbox,redux,react-bootstrap,Javascript,Reactjs,Checkbox,Redux,React Bootstrap,我正在尝试使用react bootstrap复选框(),需要在事件改变状态时触发事件。能够以编程方式取消/检查它和/或告诉它是否已检查,这也将非常好。不幸的是,当代码被传输和呈现时,它将输入包装在一个div中 如何在dom中找到它并对其进行操作 我的代码与此类似: import React, { PropTypes } from 'react'; import { Checkbox } from 'react-bootstrap'; const EditItem = (props) =>
import React, { PropTypes } from 'react';
import { Checkbox } from 'react-bootstrap';
const EditItem = (props) => {
return (
<div>
<Checkbox style={{ marginLeft: '15px' }} >{props.itemLable}</Checkbox>
</div>
);
};
export default EditItem;
import React,{PropTypes}来自'React';
从“react bootstrap”导入{Checkbox};
常量编辑项=(道具)=>{
返回(
{props.itemLable}
);
};
导出默认编辑项;
浏览器会呈现以下内容:
...
<div class="checkbox" style="margin-left: 15px;">
<label>
<input type="checkbox">
</label>
</div>
...
。。。
...
我在文档中看到了inputRef道具,但我找不到任何这样的例子,也无法让它自己工作 您是否尝试将onChange属性设置为复选框
handleChange(event) {
this.setState(*set checkbox state here*);
}
<Checkbox onChange={this.handleChange}></Checkbox>
handleChange(事件){
this.setState(*在此处设置复选框状态*);
}
有两种方式:反应方式和非反应方式
React方法是通过传递子组件的props来设置子组件的状态,并通过附加事件处理程序来响应其状态的更改。在复选框的情况下,这意味着设置checked
和onChange
道具
请注意,在下面的示例中,父组件(应用程序)如何跟踪复选框的状态,并且可以使用this.setState
设置复选框,并使用this.state.checkboxChecked
查询复选框
const{Checkbox,Button}=ReactBootstrap;
类应用程序扩展了React.Component{
构造函数(){
超级();
this.state={checkboxChecked:false};
this.handleChange=this.handleChange.bind(this);
this.handleIsItChecked=this.handleIsItChecked.bind(this);
this.handleToggle=this.handleToggle.bind(this);
}
render(){
返回(
切换
检查过了吗?
);
}
手柄更换(evt){
this.setState({checkboxChecked:evt.target.checked});
}
handleIsItChecked(){
log(this.state.checkboxChecked?'Yes':'No');
}
手语{
this.setState({checkboxChecked:!this.state.checkboxChecked});
}
}
ReactDOM.render(,document.querySelector('div')代码>
感谢您的上述回答。我稍微概括了上述内容,以便在给定组件中有多个复选框时使用:
constructor() {
super();
this.state = { YourInputName: false };
this.handleCheckboxChange = this.handleCheckboxChange.bind(this);
}
render() {
return (
<div>
<Checkbox
name="YourInputName"
onChange={this.handleCheckboxChange} />
</div>
);
}
handleCheckboxChange(event) {
const target = event.target
const checked = target.checked
const name = target.name
this.setState({
[name]: checked,
});
}
constructor(){
超级();
this.state={YourInputName:false};
this.handleCheckboxChange=this.handleCheckboxChange.bind(this);
}
render(){
返回(
);
}
HandleCheckBox更改(事件){
const target=event.target
const checked=target.checked
const name=target.name
这是我的国家({
[姓名]:选中,
});
}