фона:Reset Ember компонент на кнопку Нажмите
У меня есть компонент внутри шаблона. Этот компонент представляет собой всплывающее окно, которое открывается нажатием кнопки. В этом всплывающем окне есть флажки (все по умолчанию установлены в false) внутри него. Когда я закрываю этот всплывающий ящик, я хочу полностью сбросить все переменные до настроек по умолчанию, т. Е. Все флажки теперь отключены. В настоящее время, когда я снова открываю это всплывающее окно, предыдущие флажки по-прежнему проверяются. Как я могу это сделать без ручного переключения каждого флажка:
this.set("checkbox1", false);
this.set("checkbox2", false);
so on...
Есть функция, которая будет автоматически сбросить компонент и снимите все галочки и установить переменные обратно в ложь?
Соответствующий код:
Шаблон: приложение/шаблон/home.hbs
{{popup-modal isOpen=showModal}}
компонентов: приложение/шаблон/компоненты/всплывающее окно-modal.hbs
{{#bs-modal body=false footer=false open=isOpen title="popup box" closeAction=(action "cancel") submitAction=(action "submit")}}
{{#bs-modal-body}}
<label><input type="checkbox" {{action "toggleCheckbox" "checkbox1" on="click" preventDefault=false}}/> Checkbox 1</label>
<label><input type="checkbox" {{action "toggleCheckbox" "checkbox2" on="click" preventDefault=false}}/> Checkbox 2</label>
{{/bs-modal-body}}
{{bs-modal-footer closeTitle="Cancel" submitTitle="Ok"}}
{{/bs-modal}}
компонентов JS: приложение/компоненты/popup-modal.js
import Ember from 'ember';
export default Ember.Component.extend({
checkbox1: false,
checkbox2: false,
actions: {
submit(){
// close box
this.set('isOpen', false);
},
cancel(){
// how do I reset component here?
// in other words, make all checkbox set to false
// without manually doing it like below:
this.set("checkbox1", false);
this.set("checkbox2", false);
},
toggleCheckbox(checkbox){
this.toggleProperty(checkbox);
}
}
});
Можете ли вы поделиться файлом компонента component.js. – Falke
Было бы очень полезно воспроизвести ember-twiddle.com, чтобы увидеть, как работает компонент, и где/как он используется. – locks
Я просто добавил фрагмент кода – IFH