Метеорная автоматическая форма afFieldValueIs с логическим флажком срабатывает только один раз

У меня есть флажок, который должен показать/скрыть другое поле ввода. Я делаю следующее:

Схема:

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

Помощник сработает один раз и покажет другое поле, но больше не сработает. Любая помощь в том, что не так, будет высоко оценена.


person sturoid    schedule 17.04.2015    source источник


Ответы (1)


РЕДАКТИРОВАТЬ

На самом деле при дальнейшем рассмотрении кажется, что в настоящее время существует ошибка с событием флажка, начиная с 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}}
person Jon    schedule 18.04.2015
comment
Огромное спасибо @Jon. Это здорово знать. Я просто буду следить за этим PR и вытащу исправление, как только оно будет объединено. - person sturoid; 19.04.2015