Javascript 如何在React.js中的按钮上使用onClick事件选中/取消选中复选框? 从“React”导入React; 导入“/App.css”; 从“react bootstrap”导入{Button}; 函数App(){ 返回( 取消勾选 ); } 导出默认应用程序;
我有一个复选框和一个按钮。如果单击按钮,我希望复选框处于“未选中”状态 我试过的-Javascript 如何在React.js中的按钮上使用onClick事件选中/取消选中复选框? 从“React”导入React; 导入“/App.css”; 从“react bootstrap”导入{Button}; 函数App(){ 返回( 取消勾选 ); } 导出默认应用程序;,javascript,jquery,reactjs,Javascript,Jquery,Reactjs,我有一个复选框和一个按钮。如果单击按钮,我希望复选框处于“未选中”状态 我试过的- import React from 'react'; import './App.css'; import { Button } from 'react-bootstrap'; function App() { return ( <div> <input type="checkbox" id="checkboxForHamburger" /> <
import React from 'react';
import './App.css';
import { Button } from 'react-bootstrap';
function App() {
return (
<div>
<input type="checkbox" id="checkboxForHamburger" />
<Button onClick={??????}> UNCHECK </Button>
</div>
);
}
export default App;
取消选中
这给了我一个错误-无法将属性“checked”设置为null首先,您的复选框不受状态值控制: 让我们先添加一个状态:
<Button onClick={document.getElementById("checkboxForHamburger").checked = false}> UNCHECK </Button>
然后,我们将值赋予复选框:
const [checked, setChecked] = React.useState(true);
然后让我们告诉按钮切换选中状态
<input type="checkbox" checked={checked} />
{setChecked(old=>!old)}>{checked?'uncheck':'check'}
关于的工作示例您可以这样做-
<button onClick={() => {setChecked(old => !old)}}> {checked ? 'uncheck' : 'check'} </button>
按钮应该是
handleCheckbox = (e) => {
e.preventDefault();
this.setState({checked: !this.state.checked});
}
{this.state.checked?'Uncheck':'Check'}
我刚刚运行了这个错误
您想像下面的代码一样运行它吗
import React,{useState}来自“React”;
导入“/App.css”;
从“react bootstrap”导入{Button};
函数App(){
const[value,setValue]=useState(false);
返回(
setValue(!value)}>取消选中
);
}
导出默认应用程序;
如果该值是布尔值,我们可以判断它是否被选中。这将起作用:
<button type="button" onClick={this.handleCheckbox}>{this.state.checked ? 'Uncheck': 'Check'}</button>
从“React”导入React;
从“react dom”导入react dom;
导出默认类App扩展React.Component{
构造函数(){
this.state={check:false};
this.Toggle\u checkbox=this.Toggle\u checkbox.bind(this);
}
切换_复选框=()=>{
this.setState({check:!this.state.check});
}
render(){
返回(
切换
);
}
}
ReactDOM.render(控制复选框-。在react中直接访问dom是不好的做法。使用state,不要这样做-它不是react。我更喜欢使用功能组件而不是类组件。不要直接使用state值。此外,如果要区分UNCHECK和CHECK,请使用三尖瓣操作符编写以下内容一起。{value?选中:取消选中}
<button type="button" onClick={this.handleCheckbox}>{this.state.checked ? 'Uncheck': 'Check'}</button>
import React from 'react';
import ReactDOM from 'react-dom';
export default class App extends React.Component {
constructor(){
this.state={check:false};
this.Toggle_checkbox=this.Toggle_checkbox.bind(this);
}
Toggle_checkbox=()=>{
this.setState({check:!this.state.check});
}
render(){
return (
<div>
<input type="checkbox" checked={this.state.check} />
<button onClick={this.Toggle_checkbox}> toggle </button>
</div>
);
}
}
ReactDOM.render(<App/>,document.getElementById('root'));