From e23fdf87e6c3bc6d42198b9309617195f2efd6c0 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期六, 06 七月 2024 23:40:08 +0800 Subject: [PATCH] 高级表单优化 --- src/views/demo/tree/EditTree.vue | 117 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 58 insertions(+), 59 deletions(-) diff --git a/src/views/demo/tree/EditTree.vue b/src/views/demo/tree/EditTree.vue index c2f2ad4..e0492f7 100644 --- a/src/views/demo/tree/EditTree.vue +++ b/src/views/demo/tree/EditTree.vue @@ -50,71 +50,70 @@ </Row> </PageWrapper> </template> -<script lang="ts"> - import { defineComponent, h } from 'vue'; +<script lang="ts" setup> + import { h } from 'vue'; import { Row, Col } from 'ant-design-vue'; - import { BasicTree, TreeActionItem, ContextMenuItem } from '/@/components/Tree/index'; + import { BasicTree, TreeActionItem, ContextMenuItem } from '@/components/Tree'; import { treeData, treeData2, treeData3 } from './data'; import { PlusOutlined, DeleteOutlined } from '@ant-design/icons-vue'; - import { PageWrapper } from '/@/components/Page'; + import { PageWrapper } from '@/components/Page'; - export default defineComponent({ - components: { BasicTree, PageWrapper, Row, Col }, - setup() { - function handlePlus(node: any) { - console.log(node); - } + import { EventDataNode } from 'ant-design-vue/es/vc-tree/interface'; - function getRightMenuList(node: any): ContextMenuItem[] { - return [ - { - label: '鏂板', - handler: () => { - console.log('鐐瑰嚮浜嗘柊澧�', node); - }, - icon: 'bi:plus', - }, - { - label: '鍒犻櫎', - handler: () => { - console.log('鐐瑰嚮浜嗗垹闄�', node); - }, - icon: 'bx:bxs-folder-open', - }, - ]; - } - const actionList: TreeActionItem[] = [ - { - // show:()=>boolean; - render: (node) => { - return h(PlusOutlined, { - class: 'ml-2', - onClick: () => { - handlePlus(node); - }, - }); - }, + function handlePlus(node: any) { + console.log(node); + } + + function getRightMenuList(node: EventDataNode): Promise<ContextMenuItem[]> { + const menu = [ + { + label: '鏂板', + handler: () => { + console.log('鐐瑰嚮浜嗘柊澧�', node); }, - { - render: () => { - return h(DeleteOutlined); - }, + icon: 'bi:plus', + }, + { + label: '鍒犻櫎', + handler: () => { + console.log('鐐瑰嚮浜嗗垹闄�', node); }, - ]; - - function createIcon({ level }) { - if (level === 1) { - return 'ion:git-compare-outline'; - } - if (level === 2) { - return 'ion:home'; - } - if (level === 3) { - return 'ion:airplane'; - } - return ''; - } - return { treeData, treeData2, treeData3, actionList, getRightMenuList, createIcon }; + icon: 'bx:bxs-folder-open', + }, + ]; + return new Promise((resolve) => { + resolve(menu); + }); + } + const actionList: TreeActionItem[] = [ + { + // show:() => boolean; + render: (node) => { + return h(PlusOutlined, { + class: 'ml-2', + onClick: () => { + handlePlus(node); + }, + }); + }, }, - }); + { + render: () => { + return h(DeleteOutlined); + }, + }, + ]; + + function createIcon({ level }) { + if (level === 1) { + return 'ion:git-compare-outline'; + } + if (level === 2) { + return 'ion:home'; + } + if (level === 3) { + return 'ion:airplane'; + } + return ''; + } </script> -- Gitblit v1.9.3