我有一個表格,其中有avRadioButton.
當我單擊其中之一時radioButton,我保存值“S”或“N”。但是,當我單擊resetForm該值設定為空字串時,但單選按鈕仍保持選中狀態(因此,如果我再次單擊提交表單,則radioButton取值)
const [formModel, setFormModel] = useState({
//... other fields
perFlgattivo: '',
});
const handleFormReset = e => {
setFormModel({
//... other fields
perFlgattivo: '',
});
}
const handleChangeRadio = e => {
const { name, value } = e.target;
console.log("e.target ", e.target)
setFormModel(prevState => ({
...prevState,
[name]: value,
}));
};
這是我的單選按鈕形式:
<AvRadioGroup name="perFlgattivo" inline>
<Label id="perFlgattivo">Active</Trans>
</Label>
<br></br>
<AvRadio
id="perFlgattivo"
name="perFlgattivo"
data-cy="perFlgattivo"
label="Si"
value="S"
onChange={handleChangeRadio}
checked={formModel.perFlgattivo}
/>
<AvRadio
id="perFlgattivo"
name="perFlgattivo"
data-cy="perFlgattivo"
label="No"
value="N"
onChange={handleChangeRadio}
checked={formModel.perFlgattivo}
/>
</AvRadioGroup>
所以我的問題是當我試圖清除該值時,因為即使formModel.perFlgattivo結果為空字串,表單中的值仍然被檢查
uj5u.com熱心網友回復:
這是一個非常粗魯的解決方案,但checked={formModel.perFlgattivo.length > 0}肯定會解決您的問題。
但是一般來說,單選按鈕應該boolean在值欄位中。嘗試在表單重置時將perFlgattivo默認值更改為false和相同。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/380170.html
標籤:javascript 反应
