2017-01-12 3 views
0

У меня есть угловатая форма, как здесь; http://jsbin.com/fohiqahoxu/edit?js,outputУгловая форма - удалить значение скрытого поля

В этот момент, если что-то напечатано на входе «firstInput», появляется флажок (он больше не скрывается, потому что «firstInput» имеет значение).

Когда флажок установлен, значение флажка установлено равным true. Когда вход в «firstInput» удаляется, флажок установлен в «скрытый», но значение флажка остается true. Как установить значение флажка в значение null, когда оно скрыто?

Спасибо!

Вот важная часть файла JS (копируется из jsbin из указанной выше ссылке):

function getFields() { 
    // return your fields here 
    return [ 
    { 
     key: 'firstInput', 
     type: 'input', 
     templateOptions: { 
     label: 'Input', 
     placeholder: 'Formly is terrific!' 
     }, 
     expressionProperties: { 
     'templateOptions.label': 'model[options.key] || "Input"' 
     } 
    }, 
    { 
     key: 'checkbox', 
     type: 'checkbox', 
     templateOptions: { 
     label: 'Hidden box' 
     }, 
     hideExpression: '!model.firstInput' 
    } 
    ]; 
} 

ответ

0

Вы можете отключить его, получив флажок элемент в переменную (любым из способов, возможно, как document.getElementById) и чем снимите его, установив его состояние ложь: checkboxElement.checked = false

+0

Спасибо, НО Я ищу более «Угловой-Формальный подход». Однако это может быть решение, которое я надеюсь на решение, подобное функции внутри выражения expressionProperties или что-то в этом роде –

0

Ok Я нашел решение. Кажется, что это был лишь частью документации ... (урок, читайте внимательно и не быть нетерпеливым, если вопрос не сразу ответил;. Думаю (и читать) снова

http://angular-formly.com/#/example/very-advanced/remove-property-on-hide

Я добавлю больше документации в этот ответ позже. Причина, по которой я не удаляю свой вопрос, состоит в том, что, возможно, в будущем такие люди, как я, с тем же вопросом, придут сюда в их поиске. И тогда им не нужно смотреть дальше:)

Смежные вопросы