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') {