具有布尔复选框的Meteor autoform“afFieldValueIs”仅触发一次

时间:2015-04-17 17:16:12

标签: meteor meteor-autoform

我有一个复选框,需要显示/隐藏另一个输入框。我正在做以下事情:

架构:

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')

帮助器将触发一次并显示另一个字段,但不会再次触发。任何有关错误的帮助都将非常感激。

1 个答案:

答案 0 :(得分:3)

修改

实际上在进一步检查时,似乎从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}}