2015-04-17 4 views
5

У меня есть флажок, который должен отображать/скрывать другое поле ввода. Я делаю следующее:Meteor autoform «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') 

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

ответ

3

EDIT

Собственно о дальнейшем осмотре кажется, что есть в настоящее время ошибка с событием CheckBox от 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}} 
+1

Спасибо тонна @ Jon. Это здорово знать. Я просто буду контролировать этот PR и вытащить исправление после его объединения. – sturoid