以Vuetify的v-data-table為例,實作條件性隱藏列的功能
P粉775723722
2023-08-25 14:48:06
<p>我有一個帶有<code>v-data-table</code>和<code>actions</code>列的表格,我想只在用戶有某些權限時顯示這一列。我正在使用mixin來檢查權限。 </p>
<p>我嘗試了以下方法,但沒有成功:</p>
<pre class="brush:html;toolbar:false;"><template v-slot:[`header.actions`]="{ header }" v-if="hasPermission('update center ')">
{{ header.text }}
</template>
</pre>
<p>這是我在元件檔中使用mixin的方式:</p>
<pre class="brush:js;toolbar:false;">import BaseLayout from "../layouts/Base/Base.vue";
import hasPermission from "../../../mixins/hasPermissions";
export default {
mixins: [hasPermission],
…
}
</pre>
<p>結果:[1]: https://i.stack.imgur.com/aVSgJ.png</p>
header.actions
是一個用來覆寫actions
欄位標題渲染的插槽。如果你不傳遞它(當條件為false
時),Vuetify 將渲染預設的表示。如果你想要有條件地隱藏(不渲染)某些列,請將你的表頭定義為
computed