| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <script setup lang="ts">
- import { Page } from '@vben/common-ui';
- import { VbenContextMenu } from '@vben-core/shadcn-ui';
- import { Button, Card, message } from 'ant-design-vue';
- const needHidden = (role: string) => {
- return role === 'user';
- };
- const contextMenus = () => {
- return [
- {
- text: '刷新',
- key: 'refresh',
- handler: (data: any) => {
- message.success('刷新成功', data);
- },
- hidden: needHidden('admin'),
- },
- {
- text: '关闭当前',
- key: 'close-current',
- handler: (data: any) => {
- message.success('关闭当前', data);
- },
- hidden: needHidden('user'),
- },
- {
- text: '关闭其他',
- key: 'close-other',
- handler: (data: any) => {
- message.success('关闭其他', data);
- },
- },
- {
- text: '关闭所有',
- key: 'close-all',
- handler: (data: any) => {
- message.success('关闭所有', data);
- },
- },
- ];
- };
- </script>
- <template>
- <Page title="Context Menu 上下文菜单">
- <Card title="基本使用">
- <div>一共四个菜单(刷新、关闭当前、关闭其他、关闭所有)</div>
- <br/>
- <br/>
- <VbenContextMenu :menus="contextMenus" :modal="true" item-class="pr-6">
- <Button> 右键点击我打开上下文菜单(有隐藏项) </Button>
- </VbenContextMenu>
- </Card>
- </Page>
- </template>
|