# ytTableBtn 自定义文字按钮组件
# 使用场景
具有权限的按钮组,需要根据权限字符来判断按钮的显示隐藏
# 实例属性
属性名 | 默认值 | 类型 | 描述 | 是否必填 |
---|---|---|---|---|
permiArr | [] | Array | 权限数组,存放当前系统登陆人所具备的所有权限(通常存放在vuex中) demo: ["system:user:add", "system:user:update", "system:user:delete"] | true |
btnList | [] | Array | 按钮数组 demo:[{name: "新增",icon: "el-icon-plus",color: "#1492FF",hasPermi: "system:user:resetPwd",}] | true |
# 事件
事件名 | 参数 | 描述 |
---|---|---|
sendClick | name | 将点击按钮类型传递给父组件 |
# 简单使用
<!--
* @Description: ytTableBtn 自定义按钮组的使用 页面
* @Author: mhf
* @Date: 2023/11/5 13:09
-->
<template>
<div>
<ytTableBtn
ref="ytTableBtn"
:btnList="btnList"
:permiArr="permiArr"
@sendClick="getClick"
>
</ytTableBtn>
</div>
</template>
<script>
export default {
name: "useYtTableBtn",
components: {},
props: {},
computed: {},
watch: {},
filters: {},
data() {
return {
btnList: [
{
name: "无权限1",
icon: "el-icon-delete",
color: "#fc5c5c",
},
{
name: "无权限2",
icon: "el-icon-delete",
color: "green",
},
{
name: "新增",
icon: "el-icon-plus",
color: "#1492FF",
hasPermi: "system:user:add",
},
{
name: "导入",
icon: "el-icon-download",
color: "#1492FF",
hasPermi: "system:user:import",
},
{
name: "导出",
icon: "el-icon-upload2",
color: "#1492FF",
hasPermi: "system:user:export",
},
{
name: "删除",
icon: "el-icon-delete",
color: "#fc5c5c",
hasPermi: "system:user:delete",
},
],
permiArr: ["system:user:add", "system:user:export", "system:user:delete"],
};
},
methods: {
/**
* @Event 接收点击的按钮类型
* @description:
* @author: mhf
* @time: 2023-11-05 13:58:34
**/
getClick(name) {
this.$message.success(`点击了${name}`)
console.log(name);
},
},
created() {},
mounted() {},
destroyed() {},
};
</script>
<style lang="scss" scoped></style>