From bec88fee04853502a9049324baef73fbbcb6760a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Fri, 15 Nov 2024 20:33:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E5=A4=8D=E6=B8=B2=E6=9F=93?= =?UTF-8?q?=E5=BC=82=E5=B8=B8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- napcat.webui/src/pages/NetWork.vue | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/napcat.webui/src/pages/NetWork.vue b/napcat.webui/src/pages/NetWork.vue index e27e0c44..7ec5a336 100644 --- a/napcat.webui/src/pages/NetWork.vue +++ b/napcat.webui/src/pages/NetWork.vue @@ -72,6 +72,16 @@ const log = (message, data) => { console.log(message, data); }; +const createPanel = (type, name, id) => { + return { + value: `${type}-${id}`, + label: name, + removable: true, + component: componentMap[type], + config: { name: name }, + }; +}; + const generatePanels = (networkConfig) => { const panels = []; Object.keys(networkConfig).forEach((key) => { @@ -81,13 +91,7 @@ const generatePanels = (networkConfig) => { console.error(`No component found for key: ${key}`); return; } - panels.push({ - value: `${key}-${index}`, - label: `${config.name}`, - component, - config, - removable: true, - }); + panels.push(createPanel(key, config.name, index)); }); }); return panels; @@ -118,18 +122,12 @@ const showAddTabDialog = () => { const addTab = async () => { const { name, type } = newTab.value; if (!name || !type) return; - panelData.value.push({ - value: `${type}-${id}`, - label: name, - removable: true, - component: componentMap[type], - config: { name: name }, - }); - value.value = `${type}-${id}`; + const newPanel = createPanel(type, name, id); + panelData.value.push(newPanel); id += 1; isDialogVisible.value = false; await nextTick(); // 确保 DOM 更新完成 - value.value = `${type}-${id - 1}`; // 强制重新渲染选项卡 + value.value = newPanel.value; // 强制重新渲染选项卡 }; const removeTab = ({ value: val, index }) => {