<Form.Item label="Amount" name={[index, 'amount']} > <InputNumber style={{ width: '100%' }} min={1} // onChange={() => { // const array = [...form.getFieldValue('bankAccount')] // setCurrentAccountArray(array) // }} /> </Form.Item>en el código anterior, puede ver que estoy actualizando a la fuerza el estado de currentAccountArray, quiero ejecutar esto después de que el valor haya cambiado por completo en lugar de onChange, que se ejecuta con cada pulsación de tecla...
¿Hay alguna manera de que pueda lograr esto? No quiero usar onEnterPressed.
¿Quizás usar onInput en lugar de onChange? -- O -- ¿Tal vez una llamada retrasada envuelta en un cierre?
function setCurrentAccountArray(arr){ // whatever your doing here console.log("hi", arr) } var TO_later; function delayedCall(fn, arg, delay){ clearTimeout(TO_later); TO_later = setTimeout((function(Vfn, Varg){ return function(){ Vfn(Varg); } })(fn, arg), delay); } <Form.Item label="Amount" name={[index, 'amount']} > <InputNumber style={{ width: '100%' }} min={1} onChange={() => { const array = [...form.getFieldValue('bankAccount')] delayedCall(setCurrentAccountArray, array, 300) }} /> </Form.Item>