属性“PROPERTY_NAME”这是我的代码现在:https://jsfiddle.net/5phq111c/5/无法读取的不确定
<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);
});
},
}
我想获得选定的product_id和发送Axios公司的请求,以获得所选择的产品的价值。我已将product_id与该行绑定。我正在获取行对象中的选定值,但是当我通过row.product_id发送请求时,出现无法读取属性'product_id'的未定义错误。哪里有问题?
嗯它正在工作,但如果我添加一个新的行,新行充满了前一行数据,并改变一个正在改变所有其他行数据 –
这是一个单独的问题,我想这是因为你推动'product_id'的对象等于一个空字符串,这就是'v-for'所呈现的每个元素的':key'绑定的内容。但是由于所有的键都是相同的值,因此使用该键的第一个实例的数据呈现元素。您需要为'key'属性提供* unique *和* unchanging *值。 – thanksd
在这种情况下,我该如何在这里实现一个唯一的密钥?以便我可以用该密钥选择每一行并查找值。 “rows [0] .quantity”就像这样。 –