【问题标题】:Meteor autoform "afFieldValueIs" with a boolean checkbox only triggers once带有布尔复选框的流星自动生成“afFieldValueIs”仅触发一次
【发布时间】:2015-06-24 16:21:31
【问题描述】:

我有一个需要显示/隐藏另一个输入框的复选框。我正在执行以下操作:

架构:

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

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

【问题讨论】:

    标签: meteor meteor-autoform


    【解决方案1】:

    编辑

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

    问题已经解决了一段时间,因此您可以使用以下快速解决方法:

    在您的模板事件中:

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

    【讨论】:

    • 非常感谢@Jon。很高兴知道。我将只监视该 PR 并在合并后修复它。
    猜你喜欢
    • 2018-03-21
    • 2017-01-13
    • 1970-01-01
    • 2013-02-08
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多