diff --git a/core/core-frontend/src/views/visualized/data/dataset/form/index.vue b/core/core-frontend/src/views/visualized/data/dataset/form/index.vue
index 6c488faf6d..381fce9f60 100644
--- a/core/core-frontend/src/views/visualized/data/dataset/form/index.vue
+++ b/core/core-frontend/src/views/visualized/data/dataset/form/index.vue
@@ -15,10 +15,12 @@ import {
import { useI18n } from '@/hooks/web/useI18n'
import { useEmitt } from '@/hooks/web/useEmitt'
import { ElIcon, ElMessageBox, ElMessage } from 'element-plus-secondary'
+import FixedSizeList from 'element-plus-secondary/es/components/virtual-list/src/components/fixed-size-list.mjs'
import type { Action } from 'element-plus-secondary'
import FieldMore from './FieldMore.vue'
import EmptyBackground from '@/components/empty-background/src/EmptyBackground.vue'
import { Icon } from '@/components/icon-custom'
+import { useWindowSize } from '@vueuse/core'
import CalcFieldEdit from './CalcFieldEdit.vue'
import { useRoute, useRouter } from 'vue-router'
import UnionEdit from './UnionEdit.vue'
@@ -201,6 +203,8 @@ const dfsName = (arr, id) => {
return name
}
+const { height } = useWindowSize()
+
const dfsChild = arr => {
return arr.filter(ele => {
if (ele.leaf) {
@@ -305,7 +309,9 @@ const confirmCustomTime = () => {
}
watch(searchTable, val => {
- state.tableData = tableList.filter(ele => ele.tableName.toLowerCase().includes(val.toLowerCase()))
+ datasourceTableData.value = tableList.filter(ele =>
+ ele.tableName.toLowerCase().includes(val.toLowerCase())
+ )
})
const editeSave = () => {
const union = []
@@ -560,7 +566,7 @@ const dsChange = (val: string) => {
return getTables({ datasourceId: val })
.then(res => {
tableList = res || []
- state.tableData = [...tableList]
+ datasourceTableData.value = [...tableList]
})
.finally(() => {
dsLoading.value = false
@@ -664,10 +670,10 @@ const state = reactive({
nodeNameList: [],
editArr: [],
dataSourceList: [],
- tableData: [],
fieldCollapse: ['dimension', 'quota']
})
+const datasourceTableData = shallowRef([])
const getIconName = (type: number) => {
if (type === 1) {
return 'time'
@@ -1281,7 +1287,7 @@ const getDsIconName = data => {