gpt4 book ai didi

javascript - 制作 meteor 重新渲染 "unchanged"字段

转载 作者:行者123 更新时间:2023-12-03 09:14:48 26 4
gpt4 key购买 nike

下面的(简化的)模板呈现一个带有两个输入字段的表单,根据数据上下文预先填充。可以为多个不同的数据上下文打开该表单(尽管一次只能打开一个),在这种情况下,我希望使用新数据重新呈现所有字段 - 这大多数都会发生。

<template name="form">
<input type="text" value="{{title}}">
<input type="text" value="{{start_value}}">
</template>

当两个数据上下文的任一字段具有相同的值时,就会出现问题 - 例如start_value 为 0 是很常见的。在这种情况下,当数据上下文切换时,相应的输入字段将不会重新呈现。也许可以举一个例子:

  1. 用户使用 start_value = 0 打开数据上下文表单
  2. 用户将 start_value 对应的输入字段从 0 更改为 12
  3. 用户关闭表单而不保存
  4. 用户通过 start_value = 0 打开另一个数据上下文的表单
  5. start_value 对应的字段仍然显示 12

对于所有(原始)相同的值似乎都会发生这种情况。使用助手返回值不会改变任何内容,但确实确认助手正在按预期重新运行。

我可以通过在模板实例上使用 autorun-afterflush 来显式更新输入字段来解决这个问题,但是有没有更惯用的方法来使 Meteor 重新呈现“未更改”字段?

编辑:

这里是working example (我所说的有效是指它显示了哪些无效)。

只需在干净的 Meteor 项目的客户端目录中创建这两个文件,您就应该能够观察到行为。第 1 项和第 2 项具有保存,因此当您在它们之间切换时,即使您手动更改了第二个输入字段,第二个输入字段也不会更改。项目 3 和 4 具有相同的标题并表现出类似的行为。

最佳答案

我不太确定我是否在回答您的问题,但如果您尝试在用户关闭表单后清除一个值,以便在重新打开时不会重新填充该值,那么您可以使用 the onDestroyed function

进行您需要的任何清理,例如清除打开表单时显示的您设置的 session 。

关于javascript - 制作 meteor 重新渲染 "unchanged"字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31984165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com