1
0
mirror of synced 2026-03-24 20:18:35 +08:00

fix: 迭代器内的组件配置了声明周期代码块无效

This commit is contained in:
roymondchen
2024-08-13 20:24:24 +08:00
committed by roymondchen
parent 9e4da0a5c2
commit 60d2b64aa5
22 changed files with 163 additions and 133 deletions

View File

@@ -20,7 +20,7 @@ import EventEmitter from 'events';
import { cloneDeep } from 'lodash-es';
import type { default as TMagicApp, IteratorContainer as TMagicIteratorContainer } from '@tmagic/core';
import type { default as TMagicApp } from '@tmagic/core';
import type { DataSourceSchema, DisplayCond, Id, MNode, NODE_CONDS_KEY } from '@tmagic/schema';
import { compiledNode } from '@tmagic/utils';
@@ -227,7 +227,7 @@ class DataSourceManager extends EventEmitter {
* @returns {boolean}是否显示
*/
public compliedIteratorItemConds(
itemData: any[],
itemData: any,
node: { [NODE_CONDS_KEY]?: DisplayCond[] },
dataSourceField: string[] = [],
) {
@@ -239,23 +239,10 @@ class DataSourceManager extends EventEmitter {
return compliedConditions(node, ctxData);
}
public compliedIteratorItems(
nodeId: Id,
itemData: any,
nodes: MNode[],
dataSourceField: string[] = [],
dataIteratorContainerId?: Id[],
dataIteratorIndex?: number[],
) {
const iteratorContainer = this.app.getNode<TMagicIteratorContainer>(
nodeId,
dataIteratorContainerId,
dataIteratorIndex,
);
public compliedIteratorItems(itemData: any, nodes: MNode[], dataSourceField: string[] = []): MNode[] {
const [dsId, ...keys] = dataSourceField;
const ds = this.get(dsId);
if (!ds || !iteratorContainer) return nodes;
if (!ds) return nodes;
const ctxData = createIteratorContentData(itemData, ds.id, keys, this.data);