使用最终形式计算器清除文本字段值

问题描述

我正在尝试使用 final-form 计算器在另一个字段发生变化时清除一个字段。

In my example我有两个字段。每当第一个字段发生变化时,第二个字段就会被清除。这是意料之中的。

但是,重新渲染表单的父组件时会出现问题。每次父组件调用它的渲染函数时,即使第一个字段没有改变,第二个字段也会被清除。这可以通过点击顶部的 forceUpdate 按钮来观察。

是否可以防止第二个字段像这样清除?最好不使用 shouldComponentUpdate

解决方法

我已经能够通过将装饰器数组移到组件之外来解决它。

const decorators = [calculator]; // declared outside of App

并引用表单 props 中的值

<Form
  decorators={decorators}
  ...

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...