1 回答

TA貢獻1860條經驗 獲得超8個贊
那么你可以做的是通過將數字輸入存儲在商店中來控制它們的值:
state = {
// other state,
inputs: {}
}
然后onChangeHandler設置狀態中每個輸入的值:
function onChangeHandler(e) {
const { name, value } = e.target;
this.setState({
inputs: {
...this.state.inputs,
[name]: value
}
})
}
然后,當提交表單時,您可以添加檢查以查看值是否唯一,有很多方法可以做到這一點,我在這里所做的是從數組中刪除重復項,然后檢查數組的長度反對這樣的狀態的價值觀:
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 關注
- 139 瀏覽
添加回答
舉報