diff --git a/core/frontend/src/components/canvas/components/editor/Preview.vue b/core/frontend/src/components/canvas/components/editor/Preview.vue index d6ec95d4fe..82c49439d7 100644 --- a/core/frontend/src/components/canvas/components/editor/Preview.vue +++ b/core/frontend/src/components/canvas/components/editor/Preview.vue @@ -569,7 +569,23 @@ export default { result.relationFilterIds = matchFilters.map(item => item.id) + let matchViewIds = [] + matchFilters.forEach(item => { + if (!item.options.attrs.viewIds?.length) { + matchViewIds = null + return false + } + matchViewIds = matchViewIds.concat(item.options.attrs.viewIds) + }) + let viewKeyMap = buildViewKeyMap(panelItems) + if (matchViewIds) { + matchViewIds = [...new Set(matchViewIds)] + const keys = Object.keys(viewKeyMap).filter(key => !matchViewIds.includes(key)) + keys.forEach(key => { + delete viewKeyMap[key] + }) + } viewKeyMap = this.buildViewKeyFilters(matchFilters, viewKeyMap, isClear) result.filterMap = viewKeyMap return result