v-model绑定二维数组
时间: 2023-10-04 13:04:17 浏览: 301
可以使用一个计算属性来实现v-model绑定二维数组。首先在data中定义一个二维数组,然后在计算属性中使用getter和setter来获取和设置数组的值。
举个例子:
```
<template>
<div>
<table>
<tr v-for="(row, rowIndex) in tableData" :key="`row-${rowIndex}`">
<td v-for="(cell, cellIndex) in row" :key="`cell-${cellIndex}`">
<input type="text" v-model="tableValue(rowIndex, cellIndex)">
</td>
</tr>
</table>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [
['A1', 'B1', 'C1'],
['A2', 'B2', 'C2'],
['A3', 'B3', 'C3']
]
}
},
methods: {
tableValue(rowIndex, cellIndex) {
return {
get: () => this.tableData[rowIndex][cellIndex],
set: value => this.tableData[rowIndex][cellIndex] = value
}
}
}
}
</script>
```
在上面的例子中,我们定义了一个叫做`tableData`的二维数组,其中存储了一些数据。然后,在计算属性`tableValue`中使用了getter和setter来获取和设置每个单元格的值。在模板中,我们使用v-for指令来循环渲染每个单元格,并使用v-model指令将输入框的值双向绑定到相应的计算属性上,从而实现了v-model绑定二维数组的效果。
阅读全文