array=[
{
createUser: ' '
numberOfPeriods: ''
pId: ' '
projectExpDetails: [
{
cId:
cName:
distributionProportion:
editable:
remarks:
transactionBudget:
unUsedBudget:
usedBudget:
},
{
cId:
cName:
distributionProportion:
editable:
remarks:
transactionBudget:
unUsedBudget:
usedBudget:
}
]
},
]
为数组array中projectExpDetails数组中的unUsedBudget字段赋值,
a为父下标,index子下标,col为动态字段
使用了:this.$set(this.array[a]['projectExpDetails'][index],col,value)赋值,使用this.array[a]['projectExpDetails'][index][col]=value,也是一样的效果
这样赋值把array下的每个projectExpDetails的unUsedBudget字段都赋值,
例:
array=[
{
createUser: ' '
numberOfPeriods: ' '
pId: ' '
projectExpDetails: [
{
cId:
cName:
distributionProportion:
editable:
remarks:
transactionBudget:
unUsedBudget: ‘赋的值’
usedBudget:
},
{
cId:
cName:
distributionProportion:
editable:
remarks:
transactionBudget:
unUsedBudget:
usedBudget:
}
]
},
{
createUser: ' '
numberOfPeriods: ' '
pId: ' '
projectExpDetails: [
{
cId:
cName:
distributionProportion:
editable:
remarks:
transactionBudget:
unUsedBudget: ‘赋的值’
usedBudget:
},
{
cId:
cName:
distributionProportion:
editable:
remarks:
transactionBudget:
unUsedBudget:
usedBudget:
}
]
},
{
createUser: ' '
numberOfPeriods: ' '
pId: ' '
projectExpDetails: [
{
cId:
cName:
distributionProportion:
editable:
remarks:
transactionBudget:
unUsedBudget: ‘赋的值’
usedBudget:
},
{
cId:
cName:
distributionProportion:
editable:
remarks:
transactionBudget:
unUsedBudget:
usedBudget:
}
]
},
{
createUser: ''
numberOfPeriods: ''
pId: ' '
projectExpDetails: [
{
cId:
cName:
distributionProportion:
editable:
remarks:
transactionBudget:
unUsedBudget: ‘赋的值’
usedBudget:
},
{
cId:
cName:
distributionProportion:
editable:
remarks:
transactionBudget:
unUsedBudget:
usedBudget:
}
]
},
]
求,赋值相应下标的的字段的值
this.$set(this.array[a]['projectExpDetails'][index],col,value)修改我这边是正常的
<template>
<div class="app-container">
<div v-for="(item, index) in array" :key="index">
{{ item.projectExpDetails[1].unUsedBudget }}
</div>
</div>
</template>
<script>
export default {
name: "test",
components: {},
data() {
return {
obj: {
"01": "1111",
"02": "222",
"03": "33333",
10: "44444",
加班: "",
},
array: [
{
createUser: " ",
numberOfPeriods: "",
pId: " ",
projectExpDetails: [
{
cId: "",
cName: "",
distributionProportion: "",
editable: "",
remarks: "",
transactionBudget: "",
unUsedBudget: "1",
usedBudget: "",
},
{
cId: "",
cName: "",
distributionProportion: "",
editable: "",
remarks: "",
transactionBudget: "",
unUsedBudget: "1",
usedBudget: "",
},
],
},
{
createUser: " ",
numberOfPeriods: "",
pId: " ",
projectExpDetails: [
{
cId: "",
cName: "",
distributionProportion: "",
editable: "",
remarks: "",
transactionBudget: "",
unUsedBudget: "2",
usedBudget: "",
},
{
cId: "",
cName: "",
distributionProportion: "",
editable: "",
remarks: "",
transactionBudget: "",
unUsedBudget: "2",
usedBudget: "",
},
],
},
{
createUser: " ",
numberOfPeriods: "",
pId: " ",
projectExpDetails: [
{
cId: "",
cName: "",
distributionProportion: "",
editable: "",
remarks: "",
transactionBudget: "",
unUsedBudget: "3",
usedBudget: "",
},
{
cId: "",
cName: "",
distributionProportion: "",
editable: "",
remarks: "",
transactionBudget: "",
unUsedBudget: "3",
usedBudget: "",
},
],
},
],
};
},
created() {
this.setM(1,1,"unUsedBudget","test修改")
console.log(JSON.stringify(this.array, null, " "));
},
methods: {
setM(a, index, col, value) {
this.$set(this.array[a]['projectExpDetails'][index],col,value)
}
},
};
</script>
array数组是生成的数组,生成的数组就会产生这样的问题,如果array数组初始数据就可以正常