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 注释即可
以上为个人经验,希望能给大家一个参考,也希望大家多多支持阿兔在线工具。