Ceci est mon code en ce moment: https://jsfiddle.net/5phq111c/5/ne peut pas lire la propriété « property_name » undefined
<tbody v-for="row in rows" :key="row.product_id">
<tr>
<td>
<select @change="selected" v-model="row.product_id" class="form-control" name="product_id" id="product_id">
<option value="">Select Product</option>
<option v-for="item in items" :value="item.id" v-text="item.product_name"></option>
</select>
</td>
<td>
<textarea type="text" v-model="product.product_details" name="product_details" id="product_details" class="form-control" rows="1" placeholder="Product Details">
</textarea>
</td>
<td>
<input v-model.number="product.product_sellPrice" type="number" step="any" class="form-control" name="rate" id="rate" placeholder="Rate">
</td>
export default{
data() {
return {
rows: [{
product_id: '',
product_details: '',
product_sellPrice: '',
}],
},
methods: {
addrow: function (event) {
event.preventDefault();
this.rows.push({
product_id: '',
product_details: '',
product_sellPrice: '',
});
},
selected(e){
var id = this.row.product_id;
console.log(id);
axios.get('/estimate/product/' + id)
.then((response)=>{
this.product = '';
this.product = response.data;
})
.catch((error) => {
console.log(error);
});
},
}
Je veux obtenir le product_id sélectionné et envoyer une demande d'Axios pour obtenir les valeurs du produit sélectionné. J'ai lié le product_id avec la ligne. Je reçois la valeur sélectionnée dans l'objet rows, mais lorsque j'envoie la requête par row.product_id je reçois l'erreur impossible de lire la propriété 'product_id' de undefined. Où est le problème?
Eh bien ça marche mais si j'ajoute une nouvelle ligne, la nouvelle ligne est remplie avec les données de la rangée précédente et la modification d'une seule est en train de changer toutes les autres lignes de données –
C'est un problème distinct et je pense que c'est parce que tu pousses un objet avec 'product_id' égal à une chaîne vide et c'est ce qui est lié comme': key' pour chacun des éléments rendus par 'v-for'.Mais puisque toutes les clés ont la même valeur, les éléments sont rendus avec les données de la première instance avec cette clé. Vous devez fournir et * unique * et * immuable * pour l'attribut 'key'. – thanksd
Dans ce cas, comment puis-je implémenter une clé unique ici afin que je puisse sélectionner chaque ligne avec cette clé et trouver les valeurs. "rows [0] .quantity" comme ceci. –