以Vuetify的v-data-table为例,实现条件性隐藏列的功能
P粉775723722
P粉775723722 2023-08-25 14:48:06
[Vue.js讨论组]
<p>我有一个带有<code>v-data-table</code>和<code>actions</code>列的表格,我想只在用户有某些权限时显示这一列。我正在使用mixin来检查权限。</p> <p>我尝试了以下方法,但没有成功:</p> <pre class="brush:html;toolbar:false;">&lt;template v-slot:[`header.actions`]=&quot;{ header }&quot; v-if=&quot;hasPermission('update center')&quot;&gt; {{ header.text }} &lt;/template&gt; </pre> <p>这是我在组件文件中使用mixin的方式:</p> <pre class="brush:js;toolbar:false;">import BaseLayout from &quot;../layouts/Base/Base.vue&quot;; import hasPermission from &quot;../../../mixins/hasPermissions&quot;; export default { mixins: [hasPermission], ... } </pre> <p>结果:[1]: https://i.stack.imgur.com/aVSgJ.png</p>
P粉775723722
P粉775723722

全部回复(1)
P粉681400307

header.actions 是一个用于覆盖 actions 列标题渲染的插槽。如果你不传递它(当条件为 false 时),Vuetify 将渲染默认的表示。

如果你想要有条件地隐藏(不渲染)某些列,请将你的表头定义为 computed

computed: {
  headers() {
    const headers = [
      // 其他表头定义
    ]
    if(this.hasPermission('update center')) {
      headers.push({
        // actions 表头定义
      })
    }

    return headers
  }
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号