Vorrei riportare un documento-discesa-menù Polymer al suo stato iniziale in JavaScript quindi nulla è selezionato, in modo che appaia in questo modo:Come posso resettare un menu a discesa di carta in Polimero in modo che non sia selezionato nulla?
sono in grado di aggiungere un id al indice di modifica di carta-menù all'interno della carta-discesa-menù e accedervi in JavaScript e scegli è selezionato:
document.getElementById("accountTypeMenu").selected = 1;
Tuttavia, posso selezionare solo un elemento a disposizione, in modo che il numero deve essere 0 o superiore. Non posso impostarlo su -1 per selezionare nulla per restituirlo visivamente allo stato iniziale, tuttavia posso registrare lo stato selezionato su ciò a cui l'ho appena impostato. Altri valori che ho provato a modificare selezionati sono nulli e non definiti.
Ecco il codice html che sto utilizzando per la carta-discesa-menù:
<paper-dropdown-menu
id="accountTypeDropdown"
selected-item="{{selectedItem}}"
selected-item-label="{{selected}}"
label='*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]]">
Grazie! document.getElementById ("accountTypeDropdown") ._ setSelectedItem (null); lavori! – VagueExplanation
Il ripristino funziona con _setSelectedItem (null), tuttavia esiste una cosa strana. L'impostazione successiva di un nuovo valore modificando il modello funziona solo se il nuovo valore differisce dal valore prima del reset. Ho creato un testcase qui: http://pm.yves.glodt.name/ – yglodt
Prova ad aggiungere 'selected = {{selectedMenu}}' su 'paper-menu'. E imposta 'selectedMenu = null' ogni volta che vuoi reimpostare l'oggetto. – Srik