배경 클릭 : 나는 템플릿 내부 구성 요소가버튼에 엠버 구성 요소를 다시
합니다. 이 구성 요소는 버튼 클릭시 열리는 팝업 상자입니다. 이 팝업 상자에는 체크 박스 (기본적으로 모두 false로 설정)가 있습니다. 이 팝업 상자를 닫으면 모든 변수가 기본 설정으로 완전히 재설정됩니다. 즉 모든 체크 박스가 이제 꺼져 있습니다. 현재이 팝업 상자를 다시 열면 이전 체크 박스가 계속 선택됩니다. 어떻게하면이 수동으로 모든 확인란을 전환하지 않고합니까 :
this.set("checkbox1", false);
this.set("checkbox2", false);
so on...
자동으로 구성 요소를 재설정하고 모든 체크 박스를 해제하고 false로 다시 변수를 설정하는 기능이 있습니까?
관련 코드 :
템플릿 : 응용 프로그램/템플릿/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 : app/components/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