首页 > 解决方案 > 如何挂钩 react-final-form 更新?

问题描述

我想加入 react-final-form 的更新。那可能吗?也就是说,我希望能够执行一个任意函数来更新 react-final-form 负责的数据。特别是,我有一个Model带有update方法的类,我希望能够调用instance.update({ [fieldName]: fieldValue })而不是更新 react-final-form 使用的普通 ol' Javascript 对象。这可能吗?

我想做的一个例子如下:

<Form
  initialValue={myModel} // instance of Model
  render={() => <SomeField name="height" />}
  updated={(values, name, value) => values.update({ [name]: value })}
/>

标签: react-final-formfinal-form

解决方案


您可以使用 mutators 道具,如下所示“

mutators={{
  setFieldUpdate: () => {
    ........
  }
  /** Example
  setFieldUpdate: (args, state) => {
    const [name, touched = true] = args;
    const field = state.fields[name];
    ........
  }
  */
}}

以及提供的渲染道具「form」

form.mutators.setFieldUpdate(${YourFieldName}, ${YouWantedChangeInputValue}

在你的渲染中


推荐阅读