在element UI中 <el-table-column label="是否上架" ><el-switch v-model="value1" /></el-table-column> 怎么通过index去修改单个开关的值
时间: 2024-05-02 12:21:24 浏览: 104
可以在组件中绑定一个数组,用来存储每个开关的状态,然后通过index来修改对应开关的状态。示例代码如下:
```html
<template>
<el-table :data="tableData">
<el-table-column label="商品名称" prop="name"></el-table-column>
<el-table-column label="是否上架">
<template slot-scope="scope">
<el-switch v-model="switchList[scope.$index]" />
</template>
</el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{ name: '商品1', isOnSale: true },
{ name: '商品2', isOnSale: false },
{ name: '商品3', isOnSale: true }
],
switchList: [true, false, true] // 绑定开关状态的数组
}
},
methods: {
toggleSwitch(index) {
this.switchList[index] = !this.switchList[index] // 通过index修改对应开关的状态
}
}
}
</script>
```
在这个例子中,我们在el-switch组件上使用了v-model绑定了一个switchList数组中的值,用来表示每个开关的状态。同时,我们需要在<template>标签中使用slot-scope="scope"来获取到当前行的index。然后,我们通过toggleSwitch方法来修改switchList数组中对应index的值,从而实现修改单个开关的值的功能。
阅读全文