Lorsque l'utilisateur sélectionne une machine, je reçois l'identifiant de la machine. À partir de cet identifiant, j'ai besoin d'obtenir la marque et le modèle de la machine.
export default { data: function() { return { dosimeters:[], dosimeter_id:'' } }, mounted(){ axios.get('/dosimeters').then((response) => { this.dosimeters=response.data; }); }, methods: { dosimeter_select(){ not sure what to put here } } }
4 Réponses :
Je pense que vous devriez faire quelque chose comme:
J'ai essayé votre suggestion et ça marche mais il faut deux clics. Le premier clic dit 'non défini' puis en sélectionnant un autre bouton radio, je reçois la marque et le modèle comme prévu. Des idées?
Essayez d'utiliser sur: entrée code> événement au lieu de cliquer sur
Ça n'a pas fait ça. Il semble que la méthode s'arrête sur le retour.
Essayez ceci
Ce serait-il la bonne façon d'accéder à l'objet? this.dosimeter_model = machine.model;
Il devrait fonctionner:
p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="app"> <ul class="list-unstyled"> <li v-for="dosimeter in dosimeters"> <div> <label> <input type="radio" name="optDosimeter" :value="dosimeter.name" v-on:click="dosimeterSelected(dosimeter)">{{dosimeter.name}} </label> </div> </li> </ul> </div>
J'ai fait des changements maintenant cela fonctionne.
J'ai utilisé la suggestion de Boussadjra Brahim: et plutôt que d'utiliser des boutons radio, j'ai fait une chute de sélection. En outre, plutôt que de déclencher la méthode avec @click, j'ai utilisé @change. p> p>