element ui表格 局部更新某一行

6 篇文章 0 订阅

前言

最近遇到了个需求,要求单击通过或者拒绝时隐藏 两个按钮并且显示状态 拒绝或 通过在这里插入图片描述

问题出现

以下是这个状态切换的代码,根据v-if 判断状态是不是审核中,若是的话,就显示按钮,否则显示tag

      <el-table-column class-name="status-col" label="订单状态" width="140">
        <template slot-scope="scope">
          <div v-if="scope.row.status === 'REVIEWING'" class="action-bts">
            <el-button type="success" size="mini" @click="passApply(scope.row.order_no, scope.$index)">通过</el-button>
            <el-button type="danger" size="mini" @click="openReasonDialog(scope.row.order_no, scope.$index)">拒绝</el-button>
          </div>
          <el-tag v-else :type="statusFilter(scope.row.status).type">{{ statusFilter(scope.row.status).label }}
          </el-tag>
        </template>
      </el-table-column>

要求不能整个表更新,只能更新这一个单元格,由于vue无法检测到数组内的更新,所以我们不能直接通过this.xx=xx来实现

问题解决

这里使用了vue提供的 this.$set()函数来解决,
在这里插入图片描述

我这里使用了
其中当前行row可以通过 scope.$index 获取,然后传入事件处理函数

this.$set(this.list[row], 'status', 'SUCCESS')

在这里插入图片描述

结尾

记录一下,挺好玩的。。。

element ui表格中的某一列循环是指在表格中的某一列中的数据进行循环展示。在element ui表格中,我们可以通过自定义的render函数来实现该功能。 首先,在el-table-column中设置自定义列的render函数,该函数会接收到两个参数:row 和 column。其中,row代表当前行的数据,column代表当前列的配置信息。我们可以根据具体的需求,对row中的某一列进行循环渲染。 其次,我们可以在render函数中使用v-for指令来循环渲染数据。通过v-for指令,我们可以遍历某一列中的数据,生成对应的HTML元素。 最后,根据具体的需求,我们可以利用循环生成的HTML元素进行一些操作,比如添加样式、绑定事件等。 下面是一个示例代码,通过v-for指令实现对表格中某一列数据的循环展示: ```html <template> <el-table :data="tableData"> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column label="爱好"> <template slot-scope="scope"> <div v-for="item in scope.row.hobbies" :key="item"> {{ item }} </div> </template> </el-table-column> </el-table> </template> <script> export default { data() { return { tableData: [ { name: '张三', hobbies: ['篮球', '足球', '游泳'] }, { name: '李四', hobbies: ['跑步', '骑车'] }, { name: '王五', hobbies: ['唱歌', '跳舞', '书法'] } ] } } } </script> ``` 以上示例代码实现了一个element ui表格,其中"爱好"列的数据被循环展示出来。每个爱好被渲染为一个div元素。最终的效果是每一行的"爱好"列都会展示出相应的爱好数据。 通过以上方法,我们可以实现element ui表格中某一列数据的循环展示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值