slot-scope及scope.row的用法

最近在写后台管理系统 在写到修改的地方时 之前的思路是直接把当前对象传过去 然后在进行修改

现在vue提供了scope 以及 scope.row 可以让我们更方便的操作数据

  • slot-scope='scope' 作用域插槽中定义一个对象(这里对象被定义为scope)来存储插槽上绑定的数据的用法
  • scope.row 使用ElementUI表格模板渲染数据时使用

当前行数据的获取也会用到插槽,scope相当于一行的数据, scope.row相当于当前行的数据对象

<el-table :data="userList" stripe style="width: 100%">
      <el-table-column prop="username"label="姓名" width="180"></el-table-column>
      <el-table-column prop="email" label="邮箱" width="180"> </el-table-column>
      <el-table-column prop="mobile" label="电话"> </el-table-column>
      <el-table-column label="用户状态">
        <template slot-scope="scope">
          <el-switch v-model="scope.row.mg_state" @change="userstateChange(scope.row.id, scope.row.mg_state)">
          </el-switch>
        </template>
      </el-table-column>
      <el-table-column prop="adress" label="操作"> </el-table-column>
</el-table>

:data ==》“userList”

表格绑定了用于存储数据的数组,里面每一个元素都是数据对象

slot-scope ==》“scope”

这是作用域插槽中定义一个对象(这里对象被定义为scope)来存储插槽上绑定的数据的用法

当前行的数据对象 ==》 scope.row

在这里使用ElementUI表格模板渲染数据时,当前行数据的获取也会用到插槽,scope相当于一行的数据, scope.row相当于当前行的数据对象

还是比较方便的~

vue项目中slot-scope="scope"报错scope is defined but never used

报错是由于eslint的检测机制造成的

解决方法

在template上 加上 eslint-disable-next-line 注释即可

以上为个人经验,希望能给大家一个参考,也希望大家多多支持阿兔在线工具。

点赞(0)

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部