7

Polymer paper-dropdown-menu を JavaScript の初期状態にリセットしたいので、何も選択されていないので、次のようになります。

paper-dropdown-menu 何も選択されていません

paper-dropdown-menu 内の paper-menu タグに id を追加し、JavaScript でアクセスして、選択したインデックスを選択することができます。

document.getElementById("accountTypeMenu").selected = 1;

ただし、選択できるのは利用可能なアイテムだけなので、0 以上の数を指定する必要があります。-1 に設定して何も選択せずに視覚的に初期状態に戻すことはできませんが、選択した状態を設定したばかりの状態に記録することはできます。選択した値を変更しようとした他の値は、null で未定義です。

paper-dropdown-menu に使用している 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]]">
4

3 に答える 3

9

準備ができているだけのフィールドです。したがって、Polymer が提供する関数を使用して、ready only 値を設定する必要がある場合があります。以下を試してください

document.getElementById("accountTypeDropdown")._setSelectedItem({});

上記が機能しない場合は、以下のような他のバリエーションを試してください

document.getElementById("accountTypeDropdown")._setSelectedItem(null);
document.getElementById("accountTypeDropdown")._setSelectedItem();
于 2015-10-21T23:52:15.090 に答える
4

最近では、 を使用する方が良いよう<paper-listbox></paper-listbox>です。

それを使用すると、次のように簡単に設定できselectedますnull

<paper-dropdown-menu label="Type">
    <paper-listbox class="dropdown-content" selected="{{myObj.type}}" attr-for-selected="value" id="list">
        <paper-item value="0">Type 0</paper-item>
        <paper-item value="1">Type 1</paper-item>
    </paper-listbox>
</paper-dropdown-menu>

そして、でJavaScript

this.$.list.selected = null;
于 2018-02-24T09:13:08.313 に答える
1

イベントを手動でトリガーできます。

document.querySelector("#accountTypeDropdown")._onIronDeselect();
于 2015-12-23T16:10:48.393 に答える