从 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);
	},

如此一来,便可以实现根据行状态来控制每一行按钮的显示与否了。

Logo

前往低代码交流专区

更多推荐