Die folgende Funktion setzt this.personStatus
für alle Komponenten v-bind
. Wie kann ich eine einzelne comm-person
Komponente oder mehrere comm-person
Komponenten abhängig von dem Ergebnis der axios.post
aktualisieren?VueJS-Rückgabewert von "Versprechen" im Methodenabschnitt der Komponente
Der Template-Extrakt für eine Person, ist dies:
<comm-person
v-for="person in people"
v-show="(!pollActive) || isParticipant(person)"
:participant="pollActive && isParticipant(person)"
:status="personStatus"
:key="person.id"
>
<div class="checkbox-wrap"><input :disabled="pollActive" :value="person" v-model="selectedPeople" type="checkbox"></div>
<div @click="togglePerson(person)" class="name">{{person.given_name}} {{person.family_name}}</div>
<div class="phone-number">{{person.phone}}</div>
</comm-person>
z.B: :status="personStatus"
data() {
return {
pollText: '',
primaryButton: {
border: `2px solid ${iiColor('ii-green')}`,
},
secondaryButton: {
border: `2px solid ${iiColor('ii-grey')}`,
},
people: [],
safeUsers: [],
unsafeUsers: [],
selectedPeople: [],
polledPeople: [],
pollActive: false,
messages: [],
msgType: 'SMS',
personStatus: '?'
};
},
..
..
methods: {
getStatus(person) {
axios.post(`${config.iiApiUrl[process.env.NODE_ENV]}/person/find`, {
id: person.id,
}).then((resp) => {
console.log('handle response...');
console.log(resp.data.ref);
if(resp.data.ref != null) {
if (this.safeUsers.includes(resp.data.ref)) {
console.log('person is safe');
this.personStatus = 'safe';
}
if (this.unsafeUsers.includes(resp.data.ref)) {
console.log('problem with person');
this.personStatus = 'safe';
}
}
else {
return '?';
}
});
},
}
Aber die this.personStatus
aus dem axios.post
Aufruf aktualisiert alle Komponenten. Wie kann ich je nach Ergebnis ein oder zwei aktualisieren?
Bitte helfen Sie !!
Ich muss es auf die Person einstellen. Kann ich Sie anrufen? – Berni
Danke für den Rat - ich bin fast da, um es behoben zu bekommen. – Berni
Wie mache ich das für mehrere Personen? – Berni