From 2b850a5b891b4faab8ec2a3d98b5a4911d5723d8 Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Sat, 4 Jan 2025 16:49:15 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20keys=E4=BE=9D=E8=B5=96=E4=BA=8Emenu=20?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E5=85=88=E5=8A=A0=E8=BD=BDmenu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/system/role-beta/role-drawer.vue | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/apps/web-antd/src/views/system/role-beta/role-drawer.vue b/apps/web-antd/src/views/system/role-beta/role-drawer.vue index 8f00f926..9178f068 100644 --- a/apps/web-antd/src/views/system/role-beta/role-drawer.vue +++ b/apps/web-antd/src/views/system/role-beta/role-drawer.vue @@ -6,7 +6,7 @@ import { MenuSelectTable } from '#/components/tree'; import { useVbenDrawer } from '@vben/common-ui'; import { $t } from '@vben/locales'; import { cloneDeep, eachTree } from '@vben/utils'; -import { computed, ref } from 'vue'; +import { computed, nextTick, ref } from 'vue'; import { drawerSchema } from './data'; @@ -34,7 +34,6 @@ const menuTree = ref([]); async function setupMenuTree(id?: number | string) { if (id) { const resp = await roleMenuTreeSelect(id); - formApi.setFieldValue('menuIds', resp.checkedKeys); const menus = resp.menus; // i18n处理 eachTree(menus, (node) => { @@ -42,15 +41,20 @@ async function setupMenuTree(id?: number | string) { }); // 设置菜单信息 menuTree.value = resp.menus; + // keys依赖于menu 需要先加载menu + await nextTick(); + await formApi.setFieldValue('menuIds', resp.checkedKeys); } else { const resp = await menuTreeSelect(); - formApi.setFieldValue('menuIds', []); // i18n处理 eachTree(resp, (node) => { node.label = $t(node.label); }); // 设置菜单信息 menuTree.value = resp; + // keys依赖于menu 需要先加载menu + await nextTick(); + await formApi.setFieldValue('menuIds', []); } } @@ -125,7 +129,6 @@ function handleMenuCheckStrictlyChange(value: boolean) {