fix(vimp): 修复设备树中 default-expand-all 属性的错误用法,改为为NTabPane 设置 :display-directive="'show:lazy'" 以实现在清空搜索内容时恢复到原来的树展开状态
- default-expand-all 属性非响应式 - 过渡方案,后续应重构为受控的 expanded-keys
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { NIcon, NTabPane, NTabs, NTree, type TreeOverrideNodeClickBehavior, type TreeProps } from 'naive-ui';
|
||||
import { computed, h, type CSSProperties } from 'vue';
|
||||
import { h, type CSSProperties } from 'vue';
|
||||
import { useAlarmStore, useResourcePanelStore } from '../stores';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { useChannelsQuery } from '../composables';
|
||||
@@ -99,8 +99,6 @@ const renderNodeSuffix: TreeProps['renderSuffix'] = ({ option }) => {
|
||||
const resourcePanelStore = useResourcePanelStore();
|
||||
const { searchPattern } = storeToRefs(resourcePanelStore);
|
||||
|
||||
const defaultExpandAll = computed(() => searchPattern.value.trim().length > 0);
|
||||
|
||||
const searchFilter: TreeProps['filter'] = (pattern, node) => {
|
||||
if (!isAlarmNode(node)) return false;
|
||||
return node.alarm.name.includes(pattern);
|
||||
@@ -121,7 +119,6 @@ const searchFilter: TreeProps['filter'] = (pattern, node) => {
|
||||
:render-label="renderNodeLabel"
|
||||
:render-suffix="renderNodeSuffix"
|
||||
:override-default-node-click-behavior="overrideNodeClickBehavior"
|
||||
:default-expand-all="defaultExpandAll"
|
||||
:show-irrelevant-nodes="false"
|
||||
:data="lineTabPanes.at(0)?.alarmTree"
|
||||
:pattern="searchPattern"
|
||||
@@ -144,7 +141,7 @@ const searchFilter: TreeProps['filter'] = (pattern, node) => {
|
||||
// '--n-tab-padding-vertical': '14px 12px'
|
||||
}"
|
||||
>
|
||||
<NTabPane v-for="{ lineCode, lineName, alarmTree } in lineTabPanes" :key="lineCode" :name="lineName">
|
||||
<NTabPane v-for="{ lineCode, lineName, alarmTree } in lineTabPanes" :key="lineCode" :name="lineName" :display-directive="'show:lazy'">
|
||||
<template #tab>
|
||||
<span style="font-size: 12px">{{ lineName }}</span>
|
||||
</template>
|
||||
@@ -158,7 +155,6 @@ const searchFilter: TreeProps['filter'] = (pattern, node) => {
|
||||
:render-label="renderNodeLabel"
|
||||
:render-suffix="renderNodeSuffix"
|
||||
:override-default-node-click-behavior="overrideNodeClickBehavior"
|
||||
:default-expand-all="defaultExpandAll"
|
||||
:show-irrelevant-nodes="false"
|
||||
:data="alarmTree"
|
||||
:pattern="searchPattern"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { NIcon, NTabPane, NTabs, NTree, type TreeOverrideNodeClickBehavior, type TreeProps } from 'naive-ui';
|
||||
import { computed, h, type CSSProperties } from 'vue';
|
||||
import { h, type CSSProperties } from 'vue';
|
||||
import { useCameraStore, useResourcePanelStore } from '../stores';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { useChannelsQuery } from '../composables';
|
||||
@@ -102,8 +102,6 @@ const renderNodeSuffix: TreeProps['renderSuffix'] = ({ option }) => {
|
||||
const resourcePanelStore = useResourcePanelStore();
|
||||
const { searchPattern } = storeToRefs(resourcePanelStore);
|
||||
|
||||
const defaultExpandAll = computed(() => searchPattern.value.trim().length > 0);
|
||||
|
||||
const searchFilter: TreeProps['filter'] = (pattern, node) => {
|
||||
if (!isCameraNode(node)) return false;
|
||||
return node.camera.name.includes(pattern);
|
||||
@@ -124,7 +122,6 @@ const searchFilter: TreeProps['filter'] = (pattern, node) => {
|
||||
:render-label="renderNodeLabel"
|
||||
:render-suffix="renderNodeSuffix"
|
||||
:override-default-node-click-behavior="overrideNodeClickBehavior"
|
||||
:default-expand-all="defaultExpandAll"
|
||||
:show-irrelevant-nodes="false"
|
||||
:data="lineTabPanes.at(0)?.cameraTree"
|
||||
:pattern="searchPattern"
|
||||
@@ -147,7 +144,7 @@ const searchFilter: TreeProps['filter'] = (pattern, node) => {
|
||||
// '--n-tab-padding-vertical': '14px 12px'
|
||||
}"
|
||||
>
|
||||
<NTabPane v-for="{ lineCode, lineName, cameraTree } in lineTabPanes" :key="lineCode" :name="lineName">
|
||||
<NTabPane v-for="{ lineCode, lineName, cameraTree } in lineTabPanes" :key="lineCode" :name="lineName" :display-directive="'show:lazy'">
|
||||
<template #tab>
|
||||
<span style="font-size: 12px">{{ lineName }}</span>
|
||||
</template>
|
||||
@@ -161,7 +158,6 @@ const searchFilter: TreeProps['filter'] = (pattern, node) => {
|
||||
:render-label="renderNodeLabel"
|
||||
:render-suffix="renderNodeSuffix"
|
||||
:override-default-node-click-behavior="overrideNodeClickBehavior"
|
||||
:default-expand-all="defaultExpandAll"
|
||||
:show-irrelevant-nodes="false"
|
||||
:data="cameraTree"
|
||||
:pattern="searchPattern"
|
||||
|
||||
Reference in New Issue
Block a user