带有布尔复选框的 Meteor autoform "afFieldValueIs" 只触发一次

Meteor autoform "afFieldValueIs" with a boolean checkbox only triggers once

我有一个复选框需要 show/hide 另一个输入框。我正在执行以下操作:

架构:

isFlexibleTime:
   type: Boolean
   label: 'Is the start time flexible?'
flexibleTimeDetails:
   type: String
   label: 'Flexible time details'
   optional: true

模板:

+afQuickField(name='isFlexibleTime')

if afFieldValueIs name='isFlexibleTime' value=true
    +afQuickField(name='flexibleTimeDetails')

助手会触发一次并显示另一个字段,但不会再次触发。对错误的任何帮助将不胜感激。

编辑

实际上,经过进一步检查,似乎目前 AutoForm 5.1.2 的复选框事件存在错误 https://github.com/aldeed/meteor-autoform/issues/861

这个问题已经有一段时间了,所以你可以使用一个快速的解决方法,比如:

在您的模板活动中:

'click [name=isFlexibleTime]': function() {
    Session.set('isFlexibleTime', AutoForm.getFieldValue('isFlexibleTime','ID_OF_YOUR_AUTOFORM'));
}

模板助手:

isChecked: function() {
            return Session.get('isFlexibleTime');
}

然后:

{{#if isChecked}}
         {{> afQuickField name="flexibleTimeDetails"}}
{{/if}}

我不确定这是否是您的实际语法,但按照以下示例:http://autoform.meteor.com/fieldvalues 它应该如下所示:

 {{> afQuickField name="isFlexibleTime"}}
 {{#if afFieldValueIs name="isFlexibleTime" value="true"}}
      {{> afQuickField name="flexibleTimeDetails"}}
 {{/if}}