如何在Polymer中重置纸张下拉菜单以便不选择任何内容?

Che*_*kie 7 menu reset selected polymer-1.0 dropdown

我想将一个Polymer paper-dropdown-menu重置为它在JavaScript中的初始状态,因此没有选择任何内容,所以它看起来像这样:

纸张下拉菜单没有选择

我可以在纸张下拉菜单中的纸张菜单标签中添加一个ID,然后在JavaScript中访问它并选择它所选择的索引:

document.getElementById("accountTypeMenu").selected = 1;
Run Code Online (Sandbox Code Playgroud)

但是,我只能选择一个可用项目,因此该数字必须为0或更大.我无法将其设置为-1以选择任何内容以在视觉上将其返回到其初始状态,但我可以将所选状态记录到我刚设置的状态.我试图更改为选中的其他值为null和undefined.

这是我用于纸张下拉菜单的html:

<paper-dropdown-menu 
id="accountTypeDropdown"
selected-item="{{selectedItem}}"
selected-item-label="{{selected}}"
label='&#65290;Account type' 
style="width:50%;"
noink 
no-animations>

    <paper-menu id="accountTypeMenu"
                class="dropdown-content"
                onmouseup="requiredMenuFieldSelected('accountType')">
                        <template is="dom-repeat"
                                  items="{{accountTypes}}"
                                  as="accountType">
                            <paper-item value="[[accountType.id]]">[[accountType.name]]</paper-item>
                        </template>
    </paper-menu>

</paper-dropdown-menu>

<input is="iron-input" 
       name="accountType" 
       type="hidden" 
       value$="[[selectedItem.value]]">
Run Code Online (Sandbox Code Playgroud)

Sri*_*rik 9

它是一个现成的领域.因此,您可能必须使用Polymer提供的函数来设置仅准备好的值.试试下面的内容

document.getElementById("accountTypeDropdown")._setSelectedItem({});
Run Code Online (Sandbox Code Playgroud)

如果上述方法无效,请尝试以下其他变体

document.getElementById("accountTypeDropdown")._setSelectedItem(null);
document.getElementById("accountTypeDropdown")._setSelectedItem();
Run Code Online (Sandbox Code Playgroud)

  • 尝试在`paper-menu`上添加`selected = {{selectedMenu}}`.每当要重置项目时,设置`selectedMenu = null`. (6认同)