以下代码返回错误:组件正在将类型为checkbox的受控输入更改为不受控制。
function CheckBox(props) {
const id = props.id;
const onChange = props.onChange;
const flag = props.flag;
const lock = props.lock;
if (lock === true) {
return (
<React.Fragment>
<input className="tgl tgl-skewed" id={id} type="checkbox" onChange={onChange} />
<label className="tgl-btn" data-tg-off={flag + " is OFF"} data-tg-on={flag + " is ON"} htmlFor={id}></label>
</React.Fragment>
)
} else {
return (
<React.Fragment>
<input className="tgl tgl-skewed" id={id} type="checkbox" disabled="disabled" checked={false} value={false}/>
<label className="tgl-btn" data-tg-off={flag + " is OFF"} htmlFor={id}></label>
</React.Fragment>
)
}
}
当我删除checked={false}
时,错误消失,但我需要它…
有什么解决方案吗?
如果有onChange
,则不能有固定值。通常onChange
会更新一个状态,该状态将用作value
onChange
意味着您自己管理值,因此状态(或道具(值应为