【发布时间】:2015-03-10 15:44:20
【问题描述】:
我在屏幕中有几个字段,它们通过验证规则部分地相互依赖。
如果用户更改了一个字段,那么我可以使用 setValue() 影响另一个字段。但我正在与这个问题作斗争,valueChange 事件是从 setValue() 触发的,就像从用户活动中一样。
我的例子:我有四个字段“activity_status”、“schedule_date”、“start_date”、“end_date”。通过编辑任何一个字段,我想影响另外三个字段(更改状态、设置或更改日期)。如何避免递归调用 valueChange 方法?
我可以想象一个变量 justProcessedField 可以用作锁,但有没有更好的动手解决方案?
【问题讨论】:
-
这也是我们所做的。我们有一个持有标志“insideValuechangeEvent”的“全局”变量。在每个事件监听器中,我们首先检查是否设置了该标志。设置后,不做任何事情,否则设置标志并更新其他字段,然后清除标志 agin
-
好的,我昨天做了类似的事情。如果你把它写成答案,我会接受它。
标签: events recursion field vaadin onchange