我有一個 reactstrap 輸入欄位
<Input
onChange={handlePriceInputChange}
type="number"
defaultValue={price}
innerRef={register("price", { required: true })}
></Input>
對此我有一個默認的填充""稱為狀態price在defaultValue。
const [price, setPrice] = useState("");
我用一個函式設定了這個值 onChange
const handlePriceInputChange = (ev) => {
setPrice(parseInt(ev.target.value));
};
并點擊一些 div 容器觸發一個功能 handleSelectedBox
const handleSelectedBox = (ev) => {
setSelected(ev.target.getAttribute("data-boxprice"));
setPrice(parseInt(ev.target.getAttribute("data-price")));
};
當我手動填充輸入欄位然后觸發應觸發的按鈕時,handleSelectedBox狀態會price發生變化,但客戶端的值保持不變。
即使手動設定了這樣的值,我怎么能強制handleSelectedBox 更改輸入中的值?
uj5u.com熱心網友回復:
所以答案是使用 value 而不是 defaultValue :
<Input
onChange={handlePriceInputChange}
type="number"
value={price}
innerRef={register("price", { required: true })}
></Input>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/340507.html
標籤:反应 形式 bootstrap-4 反应钩子
