javascript - 如何在未选择付款期限之前禁用按钮 Reactjs?
问题描述
功能基本弹出模式组件...需要帮助禁用提交,直到用户未选择任何付款期限。
//Modal Box Start
<Modal show={approveShow} onHide={() => { handleApproveClose() }}>
<Modal.Body>
<h3>Are You Sure You Want to Activate the User</h3>
<hr />
<div >
<label>Select Payment Term</label>
<Select options={PaymentTermList} onChange={onChangePaymentValue}></Select>
</div>
</Modal.Body>
<Modal.Footer>
<Button variant="primary" onClick={() => { handleApproveClose(); ChangeUserStatusBackend() }}>
Submit
</Button>
</Modal.Footer>
</Modal>
//Modal Box End
onChangePaymentValue:
function onChangePaymentValue(event) {
console.log(event.value);
SetPaymentTerm(event.value);
}
解决方案
假设onChangePaymentValue
是一个更新状态的函数,将初始状态设置为零。更新状态时,您可以更改按钮的状态。当它为零时禁用它。如果它不为零,请启用它。
const { useState } = React;
function Example() {
const [ paymentValue, setPaymentValue ] = useState(0);
function onChangePaymentValue(e) {
setPaymentValue(e.target.value);
}
function handleClick() {
console.log('Button clicked');
}
return (
<div>
<select onChange={onChangePaymentValue}>
<option selected>Choose a number</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<button onClick={handleClick} disabled={!paymentValue}>Submit</button>
</div>
);
};
// Render it
ReactDOM.render(
<Example />,
document.getElementById("react")
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/17.0.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/17.0.1/umd/react-dom.production.min.js"></script>
<div id="react"></div>
推荐阅读
- python - Conda:将软件包下载到本地自定义频道
- python - cx_Freeze TypeError dist 必须是 Distribution 实例
- python - 输入,并在 SageMath 中读取输入
- html - 修复 IE11 的图像缩放错误?
- meteor - 在管理面板中更改用户角色
- javascript - Firebase 如何添加具有给定名称的子节点?
- java - 协变返回类型最佳实践
- javascript - express.json() 是将请求对象识别为 JSON 对象?
- java - Firebase Auth 帐户已创建,但从未调用过完整的侦听器
- javascript - 列表中的元素在调整大小时不在一起