【发布时间】:2021-05-11 12:04:17
【问题描述】:
我正在构建具有几个不同输入的计算器,其中一个也是复选框。
主要思想是默认复选框被选中,但用户可以取消选中它,当然最终值会改变(它会减去复选框值)
例子:
const [value1, setValue1] = useState(0);
const [value2, setValue2] = useState(0);
<FormControl
aria-label="value1"
onChange={(event) =>
setValue1(event.target.value)
}
placeholder={value1}
/>
<FormControl
aria-label="value2"
onChange={(event) =>
setValue1(event.target.value)
}
placeholder={value2}
/>
复选框的值来自乘法 value1 * value2
const [checkbox, setCheckbox] = useState(false);
useEffect(() => {
setCheckbox(value1 * value2);
}, [ value1 ,value2 ]);
现在我不确定如何在输入中处理这个问题,这是我尝试过的:
<Form.Check
checked={checkbox}
onCheck={() => setCheckbox(!checkbox)}
/>
这个输出是:
- 默认情况下复选框未选中
- 设置 value1 和 value2 时,复选框会突然被选中
- 当我尝试取消选中该框时 - 它不允许我这样做
预期输出:
- 复选框默认勾选,默认值为0,当设置value1和value2时,复选框获取这两个值相乘的值李>
- 允许用户取消选中该框,来自
value1 * value2 + checkbox的最终值将得到更新减去复选框值
【问题讨论】:
标签: javascript reactjs math react-hooks calculator