diff --git a/frontend/src/components/widget/DeWidget/DeTabs.vue b/frontend/src/components/widget/DeWidget/DeTabs.vue index b2b7c38d4e..4e2b9b92b2 100644 --- a/frontend/src/components/widget/DeWidget/DeTabs.vue +++ b/frontend/src/components/widget/DeWidget/DeTabs.vue @@ -35,7 +35,26 @@
- + +
@@ -96,7 +115,7 @@ import bus from '@/utils/bus' import componentList from '@/components/canvas/custom-component/component-list' import { mapState } from 'vuex' import { chartCopy } from '@/api/chart/chart' - +import { buildFilterMap } from '@/utils/conditionUtil' export default { name: 'DeTabls', components: { ViewSelect }, @@ -142,7 +161,12 @@ export default { panelInfo() { return this.$store.state.panel.panelInfo }, + filterMap() { + const map = buildFilterMap(this.componentData) + return map + }, ...mapState([ + 'componentData', 'curComponent', 'mobileLayoutStatus' ]) diff --git a/frontend/src/utils/conditionUtil.js b/frontend/src/utils/conditionUtil.js index a0cbea5ccf..1d0428841d 100644 --- a/frontend/src/utils/conditionUtil.js +++ b/frontend/src/utils/conditionUtil.js @@ -46,6 +46,11 @@ export const buildFilterMap = panelItems => { if (element.type === 'view') { result[element.propValue.viewId] = [] } + if (element.type === 'de-tabs') { + element.options.tabList && element.options.tabList.forEach(tab => { + result[tab.content.propValue.viewId] = [] + }) + } }) panelItems.forEach(element => { if (element.type !== 'custom') {