diff --git a/packages/rath-client/src/pages/dataSource/dataTable/index.tsx b/packages/rath-client/src/pages/dataSource/dataTable/index.tsx index d45f8db2..0843ebba 100644 --- a/packages/rath-client/src/pages/dataSource/dataTable/index.tsx +++ b/packages/rath-client/src/pages/dataSource/dataTable/index.tsx @@ -48,7 +48,7 @@ const ADD_BATCH_SIZE = 5; const DataTable: React.FC = (props) => { const { dataSourceStore } = useGlobalStore(); - const { filteredDataMetaInfo, fieldsWithExtSug: fields, filteredDataStorage } = dataSourceStore; + const { filteredDataMetaInfo, fieldsWithExtSug: fields, filteredDataStorage, datasetId } = dataSourceStore; const [filteredData, setFilteredData] = useState([]); const [textSelectList, setTextSelectList] = useState([]); const [editTP, setEditTP] = useState(false); @@ -68,6 +68,23 @@ const DataTable: React.FC = (props) => { specific: 1, nlp: 1, }); + useEffect(() => { + // clean state + setFilteredData([]); + setTextSelectList([]); + setEditTP(false); + setGroupedTextPatternList(initGroupedTextPatternList()); + setTpPos({ + groupKey: 'knowledge', + index: 0, + }); + setGroupShownSize({ + knowledge: 1, + generalize: 1, + specific: 1, + nlp: 1, + }); + }, [datasetId]); const tsList2tpList = useCallback((tsl: IFieldTextSelection[]) => { try { diff --git a/packages/rath-client/src/store/dataSourceStore.ts b/packages/rath-client/src/store/dataSourceStore.ts index 8de3e2c3..ab10b501 100644 --- a/packages/rath-client/src/store/dataSourceStore.ts +++ b/packages/rath-client/src/store/dataSourceStore.ts @@ -515,6 +515,7 @@ export class DataSourceStore { public async loadDataWithInferMetas (dataSource: IRow[], fields: IMuteFieldBase[], tag?: DataSourceTag | undefined) { if (fields.length > 0 && dataSource.length > 0) { const metas = await inferMetaService({ dataSource, fields }) + this.initStore() // vega-lite's title contains \n will fail to render // fix: https://github.com/Kanaries/Rath/issues/381 metas.forEach(m => {