如何在vuejs中获取$watch下已更改数组的索引
How to get index of changed array under $watch in vuejs
我正在使用对象数组
({"code":"id1","color":"red","description":"eg1"})
其中每个对象都包含输入 fields.User 可以动态添加和删除这些对象。
现在我希望当他输入代码时,该字段的其余部分应该自动填写。
为此,我开发了一种算法,它将获取代码并给我颜色和描述,但为此我需要更改对象的 POSITION,以便我可以更新该索引本身的数组。
以下是我分享的代码:
<div v-for="(x,i) in fabric_arr">
<!--<pre>{{x}}</pre>-->
<div class="row">
<div class="col-md-4">
<span>
<input type=”text” list="idOfDatalist" class="form-control border-input" placeholder="Fabric Code" v-model="x._id">
<datalist id="idOfDatalist">
<option v-for="y in all_fabrics">{{y._id}}</option>
</datalist>
</span>
</div>
<div class="col-md-4">
<span>
<input type=”text” class="form-control border-input" placeholder="Fabric Color" v-model="x.color"></span>
</div>
<div class="col-md-4">
<span>
<input type=”text” class="form-control border-input" placeholder="Fabric Description" v-model="x.description"></span>
</div>
</div>
</div>
还有我的控制器:
watch: {
fabric_arr: {
handler : function (val) {
console.log("val");
console.log(val);
//val.color="red always";
this.fabric_arr[0].color="fghjkl"
},
deep: true
}
}
对于所有正在寻找答案的人,请使用 v-bind:change() 触发更改并在那里操作索引。
下面是代码:
<input type=”text” list="idOfDatalist" class="form-control border-input" placeholder="Fabric Code" v-model="x._id" v-bind:change="inpChangedForCode(x)">
<datalist id="idOfDatalist">
<option v-for="y in all_fabrics">{{y._id}}</option>
</datalist>
我正在使用对象数组
({"code":"id1","color":"red","description":"eg1"})
其中每个对象都包含输入 fields.User 可以动态添加和删除这些对象。 现在我希望当他输入代码时,该字段的其余部分应该自动填写。 为此,我开发了一种算法,它将获取代码并给我颜色和描述,但为此我需要更改对象的 POSITION,以便我可以更新该索引本身的数组。 以下是我分享的代码:
<div v-for="(x,i) in fabric_arr">
<!--<pre>{{x}}</pre>-->
<div class="row">
<div class="col-md-4">
<span>
<input type=”text” list="idOfDatalist" class="form-control border-input" placeholder="Fabric Code" v-model="x._id">
<datalist id="idOfDatalist">
<option v-for="y in all_fabrics">{{y._id}}</option>
</datalist>
</span>
</div>
<div class="col-md-4">
<span>
<input type=”text” class="form-control border-input" placeholder="Fabric Color" v-model="x.color"></span>
</div>
<div class="col-md-4">
<span>
<input type=”text” class="form-control border-input" placeholder="Fabric Description" v-model="x.description"></span>
</div>
</div>
</div>
还有我的控制器:
watch: {
fabric_arr: {
handler : function (val) {
console.log("val");
console.log(val);
//val.color="red always";
this.fabric_arr[0].color="fghjkl"
},
deep: true
}
}
对于所有正在寻找答案的人,请使用 v-bind:change() 触发更改并在那里操作索引。 下面是代码:
<input type=”text” list="idOfDatalist" class="form-control border-input" placeholder="Fabric Code" v-model="x._id" v-bind:change="inpChangedForCode(x)">
<datalist id="idOfDatalist">
<option v-for="y in all_fabrics">{{y._id}}</option>
</datalist>