我有一个带有v-data-table和actions列的表格,我想只在用户有某些权限时显示这一列。我正在使用mixin来检查权限。
我尝试了以下方法,但没有成功:
<template v-slot:[`header.actions`]="{ header }" v-if="hasPermission('update center')">
{{ header.text }}
</template>
这是我在组件文件中使用mixin的方式:
import BaseLayout from "../layouts/Base/Base.vue";
import hasPermission from "../../../mixins/hasPermissions";
export default {
mixins: [hasPermission],
...
}
结果:[1]: https://i.stack.imgur.com/aVSgJ.png
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
header.actions是一个用于覆盖actions列标题渲染的插槽。如果你不传递它(当条件为false时),Vuetify 将渲染默认的表示。如果你想要有条件地隐藏(不渲染)某些列,请将你的表头定义为
computedcomputed: { headers() { const headers = [ // 其他表头定义 ] if(this.hasPermission('update center')) { headers.push({ // actions 表头定义 }) } return headers } }