如何重置铁形式内的纸张下拉菜单?
How to reset paper-dropdown-menu inside an iron-form?
示例代码:
<iron-form id="form1">
<form method="get" action="/form/handler">
<paper-input name="name" label="Name" required></paper-input>
<paper-dropdown-menu label="Dinosaurs">
<paper-listbox slot="dropdown-content" selected="1">
<paper-item>allosaurus</paper-item>
<paper-item>brontosaurus</paper-item>
<paper-item>carcharodontosaurus</paper-item>
<paper-item>diplodocus</paper-item>
</paper-listbox>
</paper-dropdown-menu>
<paper-button raised on-click="_save">Save</paper-button>
<paper-button raised on-click="_reset">Reset</paper-button>
</form>
</iron-form>
...
_reset() {
this.$.form1.reset();
}
单击 'Reset' 按钮时,下拉菜单未设置为其默认值。
paper-dropdown-menu
的问题是它没有自己设置值的机制。
它允许您通过 contentElement
属性 获取其包含的 paper-listbox
并调用一个设置方法。
恐怕 iron-form
无法在这里执行任何魔法,所以我会扩展 _reset
方法:
_reset() {
this.$.myDropdown.contentElement.set('selected', null); // or whatever fallback
this.$.form1.reset();
}
当然你也可以直接引用listbox
您可以为所选属性使用变量:
<paper-listbox slot="dropdown-content" selected="{{selected}}">
并在 :
处定义选定的 属性
static get properties() { return {
selected: {type:Number, value:1},...
并在重置函数时将其设置为 1:
_reset() {
this.set('selected', 1); //
this.$.form1.reset();
}
提交表单数据时可以使用 selected 属性 的 Polymer 方式。
示例代码:
<iron-form id="form1">
<form method="get" action="/form/handler">
<paper-input name="name" label="Name" required></paper-input>
<paper-dropdown-menu label="Dinosaurs">
<paper-listbox slot="dropdown-content" selected="1">
<paper-item>allosaurus</paper-item>
<paper-item>brontosaurus</paper-item>
<paper-item>carcharodontosaurus</paper-item>
<paper-item>diplodocus</paper-item>
</paper-listbox>
</paper-dropdown-menu>
<paper-button raised on-click="_save">Save</paper-button>
<paper-button raised on-click="_reset">Reset</paper-button>
</form>
</iron-form>
...
_reset() {
this.$.form1.reset();
}
单击 'Reset' 按钮时,下拉菜单未设置为其默认值。
paper-dropdown-menu
的问题是它没有自己设置值的机制。
它允许您通过 contentElement
属性 获取其包含的 paper-listbox
并调用一个设置方法。
恐怕 iron-form
无法在这里执行任何魔法,所以我会扩展 _reset
方法:
_reset() {
this.$.myDropdown.contentElement.set('selected', null); // or whatever fallback
this.$.form1.reset();
}
当然你也可以直接引用listbox
您可以为所选属性使用变量:
<paper-listbox slot="dropdown-content" selected="{{selected}}">
并在 :
处定义选定的 属性 static get properties() { return {
selected: {type:Number, value:1},...
并在重置函数时将其设置为 1:
_reset() {
this.set('selected', 1); //
this.$.form1.reset();
}
提交表单数据时可以使用 selected 属性 的 Polymer 方式。