avue-crud 通过行状态来自定义显示编辑按钮
从 avue-crud 的官方文档中我们可以知道,操作栏的按钮是否显示是通过 option 中相应的 Boolean 值控制的,比如:
- delBtn 对应删除按钮
- editBtn 对应编辑按钮
但是,这种控制是会对整个表格生效的,那如果我想根据行状态来自定义控制每一行的按钮是否显示呢?该怎么做?
我的做法是根据官网的例子,用自定义插槽实现
<template slot="menu" slot-scope="{ row, index }">
<el-button
v-if="这里是自己定义的条件"
@click="handleEdit(row, index)"
>
编辑
</el-button>
</template>
这样一来,界面上按钮是有了,但是点击这个自定义的编辑按钮,不会显示弹窗啊,而且在官方文档中,也没有代码说明了调用什么方法可以弹出弹窗。
到底该怎么调出编辑的弹窗呢?
找了半天,在另一份文档中,找到了相关的代码:
文档地址:
https://www.bookstack.cn/read/avue-2.x/e7156c7f3b035c78.md
// handleEdit 是自己自定义的编辑按钮方法
handleEdit (row, index){
this.$refs.crud.rowEdit(row, index);
},
如此一来,便可以实现根据行状态来控制每一行按钮的显示与否了。