Ich baue so etwas, wo das Land, das ich wähle automatisch den Telefon-Ländercode diktieren.Vue nicht aktualisieren Eingang, der auf einem anderen
Sowohl das Land und Ländercode werden in einem Kundenobjekt gespeichert, und wenn ich den Wert des Landes zu ändern bin, wird der Trigger richtig genannt, und ich kann den Ländercode zu ändern in Vue Entwickler-Tools sehen, aber Die zugehörige Eingabe wird nicht aktualisiert. Dies ist mein Code:
data: function() {
return {
customer: {},
countries: this.$store.state.settings.countries,
}
},
created: function() {
var defaultCountry = _.find(this.countries, { default: true });
this.customer.country = defaultCountry.name;
this.customer.countryCode = defaultCountry.code;
},
methods: {
updateCountryCode: function(country) {
this.customer.countryCode = country.code;
},
}
Und das ist die relevante HTML:
<vSelect
label="name"
v-model="customer.country"
:options="countries"
:onChange="updateCountryCode">
</vSelect>
<input type="text" disabled :value="customer.countryCode">
Was mache ich falsch? Warum sehe ich, dass die Daten auf Dev-Tools aktualisiert werden, aber nicht als reaktiv und meine Ländercode-Eingabe bleibt gleich?
Sie sollten Ihr Kundenobjekt wie folgt definieren: 'customer: {country: null, countryCode: null,},' – Nora
Was? Das hat funktioniert! Ich nahm an, dass, da ich einen Standardwert auf created() legte, ich diese Werte in dem leeren Objekt nicht zuweisen musste. Irgendeine Idee, warum dies benötigt wird? Auch, bitte fügen Sie dies als eine separate Antwort, so kann ich es als gelöst markieren :) – Anonymous