, 피커에 setSelected()
은 당신이 그렇게 할 것입니다 null
를 통과, 그것은 당신이 동적으로 설정하려는 제어 (피커의 clientControls)에 대한 참조를 통과 할 것으로 예상 아무것도. 항목을 선택하면 항목 목록이 닫히지 만 항목은 선택된 상태로 유지되고 pickerButton
은 선택한 항목을 표시합니다. 그래서, 당신이해야 할 일은 이것뿐입니다. this.$.pickerButton.setContent('Click to Select');
이것은 pickerButton 내용을 재설정합니다. 도움이
http://jsfiddle.net/scrs3Le5/1/
enyo.create({
components: [{
kind: "onyx.PickerDecorator",
name: "DecoratorName",
components: [{
name:'pickerButton',
style: 'min-height:2.5rem;min-width:330px;',
content: "Click to Select"
}, {
kind: 'onyx.Picker',
name: 'PickerName',
components: [
{content: "Is broken"},
{content: "Is not cool"},
{content: "Is very very very very very very very cool!"}
]
}]
}, {
kind: 'Button',
ontap: 'ResetPicker',
content: 'ResetPicker'
}],
ResetPicker: function() {
//this.$.PickerName.setSelected(null);
this.$.pickerButton.setContent('Click to Select');
},
rendered: function() {
this.inherited(arguments);
}
}).renderInto(document.body);
희망!
예, 도움이됩니다. 그러나 "선택을 클릭하십시오"실제로 표시되어 있지만 선택기 실제로 이전에 선택한 컨트롤이 선택되어 있습니다. 그래서 당신은 여전히 그 부분을 고치기 위해 당신이 주석 처리 한 라인이 필요합니다. – trex005
리셋 메서드를 추가하기 위해 끌어 오기 요청을 제안했지만 Picker는 PickerButton의 기본 콘텐츠를 유지하지 않습니다. 아마도 피커의 reorg가 필요합니다. – Pre101