From 9b065363dcff37fddd179375c6f1b7e5ad64df58 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Tue, 18 Nov 2025 15:40:54 +0800
Subject: [PATCH] feat:恢复选中效果
---
src/views/layerManagement/components/leftList.vue | 41 +++++++----------------------------------
1 files changed, 7 insertions(+), 34 deletions(-)
diff --git a/src/views/layerManagement/components/leftList.vue b/src/views/layerManagement/components/leftList.vue
index 99ae440..0b52fce 100644
--- a/src/views/layerManagement/components/leftList.vue
+++ b/src/views/layerManagement/components/leftList.vue
@@ -57,8 +57,8 @@
node-key="id"
default-expand-all
:expand-on-click-node="false"
- :check-on-click-node="false"
-
+ :check-on-click-node="false"
+ :filter-node-method="filterNode"
@check="handleCheck"
:props="{
label: 'name',
@@ -69,7 +69,7 @@
<template #default="{ node }">
<div class="tree-node">
<!-- 节点名称 -->
- <span class="nodeName" :class="{ 'search-highlight': isNodeMatched(node.data.id) }">{{ node.label }}</span>
+ <span class="nodeName">{{ node.label }}</span>
<!-- 操作按钮组 -->
<div class="tree-node-actions">
<el-button
@@ -117,7 +117,6 @@
dkbh: '',
patchesName: '',
});
-const matchedNodeIds = ref([]);
const loading = ref(false);
const treeData = ref([]);
const treeAllData = ref([]);
@@ -239,7 +238,7 @@
layerParams.value.fileType = 1;
} else if (props.activeName === '自定义禁飞区') {
layerParams.value.fileType = 2;
- }
+ }
emit('update:editFolder', node.data);
} else if (node.data.level === 3) {
checkedKeys.value = [];
@@ -326,35 +325,12 @@
}
function search() {
- const keyword = formData.value.dkbh.trim();
- matchedNodeIds.value = [];
-
- if (!keyword) return;
-
- // 递归查找匹配的节点
- const findMatches = (nodes) => {
- nodes.forEach(node => {
- if (node.name && node.name.includes(keyword)) {
- matchedNodeIds.value.push(node.id);
- }
- if (node.children && node.children.length) {
- findMatches(node.children);
- }
- });
- };
-
- findMatches(treeData.value);
+ treeRef.value?.filter(formData.value.dkbh);
}
-// 重置搜索
function reset() {
formData.value.dkbh = '';
- matchedNodeIds.value = [];
+ treeRef.value?.filter('');
}
-
-// 判断节点是否匹配搜索关键词
-const isNodeMatched = (nodeId) => {
- return matchedNodeIds.value.includes(nodeId);
-};
function filterNode(value, data) {
if (props.activeName === '国土空间规划') {
if (!value) return data.level === 2 || data.level === 1;
@@ -435,10 +411,7 @@
display: flex;
flex-direction: column;
}
-.search-highlight {
- color: #409eff !important; // 蓝色高亮,可以根据需要修改
- font-weight: bold;
-}
+
.searchBox {
display: flex;
margin-top: 10px;
--
Gitblit v1.9.3