element ui 表格(table)里边使用Switch开关,单独控制

本文详细介绍了如何在Element UI中使用Switch组件实现表格数据的动态开关功能,包括代码示例和后端接口调用,展示了如何通过Vue.js的v-model绑定状态,并在状态改变时触发后端更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

表格部分代码 

<el-table-column
    label="是否启用">
    <template slot-scope="scope">
         <el-switch
              v-model="scope.row.status"
              :active-value="1"
              :inactive-value="2"
              active-color="#02538C"
              inactive-color="#B9B9B9"
              @change="changeSwitch(scope.row)"/>
    </template>
</el-table-column>

// 这串代码是table里边行列数据

data数据里边

// row是我从上边函数传下来的数据,可以拿到当前选中的状态值,下边的请求是因为我要传给后端调的接口
this.$api.accountSwitch是我调后端的方法,我们自己封装的,在这块你们可以根据自己的写自己要调用的方法
changeSwitch (row) {
      const data = {
        id: row.id,
        status: row.status,
      };
      this.$api.accountSwitch(data).then(res => {
        if (res.code === '200' || res.code === 200) {
          // 调用表格数据
          this.getTableData();
        } else {
          this.$message.error(res.msg);
          // 调用表格数据
          this.getTableData();
        }
        this.loading = false;
      }).catch({
        
      });
    },

 

在Vue.js中使用Element UIel-table组件时,如果想在el-table-column中单独控制el-switch的状态,可以通过以下步骤实现: 1. **使用`:prop`绑定数据**:首先,确保你的表格数据是一个数组对象,每个对象包含一个属性来表示开关的状态。 2. **使用`:value`和`@change`事件**:在el-switch组件上使用`:value`绑定当前行的开关状态,并使用`@change`事件来更新状态。 3. **使用`row`对象**:在事件处理函数中,通过`row`对象来更新对应的数据。 以下是一个具体的示例代码: ```html <template> <el-table :data="tableData" style="width: 100%"> <el-table-column prop="name" label="姓名" width="180"></el-table-column> <el-table-column label="状态" width="180"> <template slot-scope="scope"> <el-switch v-model="scope.row.status" @change="handleSwitchChange(scope.row)" active-color="#13ce66" inactive-color="#ff4949"> </el-switch> </template> </el-table-column> </el-table> </template> <script> export default { data() { return { tableData: [ { name: '张三', status: true }, { name: '李四', status: false }, { name: '王五', status: true } ] }; }, methods: { handleSwitchChange(row) { // 在这里处理开关状态变化后的逻辑 console.log(`用户 ${row.name} 的状态已更改为 ${row.status}`); // 你可以在这里发送请求到服务器更新状态 } } }; </script> ``` 在这个示例中,`el-table`组件的`data`属性绑定到`tableData`数组。每个`el-table-column`都通过`prop`属性绑定到对象的属性。`el-switch`组件的`v-model`绑定到当前行的`status`属性,并通过`handleSwitchChange`方法处理状态变化。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值