javascript - 根据函数结果禁用按钮
问题描述
如果函数返回 false,则必须禁用一个按钮。每当输入中的某些内容发生变化时,都应该调用此函数,因为该函数会检查引入的字符串是否是有效的电子邮件。
<button onClick={() => saveChanges()} disabled={() => checkChanges()}>click me</button>
const checkChanges = () => {
// takes email value from state
// checks if it's valid
return valid; // it's either true or false
}
它不起作用,禁用它是否有问题以及它是如何编写的?
解决方案
您可以在调用后使用useState
变量并为其设置结果checkChanges()
const [valid, setValid] = useState(false);
const checkChanges = () => {
// takes email value from state
// checks if it's valid
return setValid(result) // true or false after validating
}
return (<button onClick={() => saveChanges()} disabled={!valid}>click me</button>) {/* disable if not valid*/}
推荐阅读
- python - AttributeError:从 excel 中绘制数据
- spring-batch - Spring Batch 多数据源和 ChainedTransactionManager 风险
- python - 将日期转换为 numpy 日期时间
- python - 调用不同函数后方括号[]的作用
- c++ - 如何定位/打印中止陷阱:大型 C++ 代码中的 6 个错误
- spring-boot - 使用泛型为从超类继承的类编写单元测试
- css - 编辑 CSS 内容中文本的颜色
- javascript - formData 允许 e.target, e.currentTarget 但不允许 'this'... 为什么?
- django - 如何过滤模型 Django 并与 id 进行比较
- sql - 为什么包含聚合的 SQL SELECT 不能访问其他列?