1 回答

TA貢獻1860條經(jīng)驗 獲得超8個贊
那么你可以做的是通過將數(shù)字輸入存儲在商店中來控制它們的值:
state = {
// other state,
inputs: {}
}
然后onChangeHandler設(shè)置狀態(tài)中每個輸入的值:
function onChangeHandler(e) {
const { name, value } = e.target;
this.setState({
inputs: {
...this.state.inputs,
[name]: value
}
})
}
然后,當(dāng)提交表單時,您可以添加檢查以查看值是否唯一,有很多方法可以做到這一點,我在這里所做的是從數(shù)組中刪除重復(fù)項,然后檢查數(shù)組的長度反對這樣的狀態(tài)的價值觀:
function handleSeedingSubmit(e) {
e.preventDefault();
const { inputs } = this.state;
const valuesInState = Object.values(input);
const uniqueValuesArr = [...new Set(valuesInState)];
const areInputsValid = valuesInState.length === uniqueValuesArr.length;
if (!areInputsValid) {
// set Error here
return;
}
// Hurray!! Inputs are valid
// Handle Success case here
}
希望能幫助到你 :)
- 1 回答
- 0 關(guān)注
- 132 瀏覽
添加回答
舉報