Ich habe diesen Code in meiner Vorlage:
%Vor% Laut Materializecs-Dokumenten rufe ich $('select').material_select();
auf, um das Standard-Auswahlfeld in etwas Süßes umzuwandeln. Was es auch tut - es ersetzt <select>
und <option>
Tags durch <ul>
und <li>
.
Daher kann ich nicht auf den Wert von item.size in meiner ViewModel js-Datei zugreifen. Ich habe sogar versucht auf einen Klick auf das Optionsfeld zu warten und die optionClicked-Methode aufzurufen (die dann einfach eine Nachricht alarmieren sollte), versuchte auf selectChared zu warten. Nichts.
Wie kann ich Optionswert in ViewModel erhalten?
ps. nur zur Information: Ich habe nur ein Problem mit dem Auswahlfeld. Eingabefeld zum Beispiel funktioniert gut:
%Vor% In ViewModel kann ich auf item.name
Es scheint, dass Materialise keine Ereignisse absetzt, so dass ich keine elegante Lösung finden konnte. Es scheint jedoch, dass die folgende Vuejs-Direktive + jQuery-Problemumgehung funktioniert:
%Vor%Und dann in Ihrem HTML - bind & lt; select & gt; Verwenden von v-select anstelle von v-model.
Die beste Antwort war nett, hat aber nicht für Vue 2 funktioniert.
Hier ist ein Update von dem (wahrscheinlich immer noch ein wenig Hacky) funktioniert. Ich habe den jQuery-Hook in update()
verschoben, da die bind
-Funktion zu früh für materialize aufgerufen wurde.
HTML:
%Vor% Ich hatte ein ähnliches Problem. Der Haken hier ist, dass Sie $('select').material_select();
erst ausgeben müssen, nachdem das DOM Ihrer Vue App fertig ist. So können Sie Ihrer Vue App eine fertige Methode hinzufügen und $('select').material_select();
in Ihre ready-Methode einfügen.
Stellen Sie sicher, dass Sie zuerst Jquery und dann materialize.js gefolgt von Vue.js in Ihre HTML-Datei einfügen.
v- VueJs2.4 Keine der obigen Antworten wurde für das Mehrfachauswahlelement verwendet. Ich habe es funktioniert, indem ich die select-Element-Optionen durchlaufen habe. Das ist kein richtiger Ansatz und eine Art Hack, aber funktioniert.
%Vor%Die mögliche Lösung, die ich gefunden habe, besteht darin, eine Eingabe zu verwenden und sie an einen Dropdown-Inhalt anzuhängen. Es funktioniert gut mit vue, auch wenn Sie Dropdown dynamisch erstellen. Und es ist reaktiv, dass Sie kein anderes Ereignis ausgeben müssen, um Werte zu binden.
Codepen: Ссылка
%Vor%Tags und Links vue.js materialize