wip fix
This commit is contained in:
parent
5d292c3bb7
commit
0ee95e5589
File diff suppressed because one or more lines are too long
|
|
@ -34,7 +34,7 @@ export const viEvalScript = (
|
|||
scope: passprop,
|
||||
result: null,
|
||||
Local: createViLocal(vi, is_layout, meta),
|
||||
PassProp: createViPassProp(vi, meta),
|
||||
PassProp: createViPassProp(vi, is_layout, meta),
|
||||
};
|
||||
} else {
|
||||
meta.script.scope = passprop;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,13 @@
|
|||
import { ReactNode, isValidElement } from "react";
|
||||
import { IMeta } from "../../../ed/logic/ed-global";
|
||||
import { VG } from "../global";
|
||||
import { ViChild } from "../render";
|
||||
|
||||
export const createViPassProp = (vi: { meta: VG["meta"] }, meta: IMeta) => {
|
||||
export const createViPassProp = (
|
||||
vi: { meta: VG["meta"] },
|
||||
is_layout: boolean,
|
||||
meta: IMeta
|
||||
) => {
|
||||
return (arg: Record<string, any> & { children: ReactNode }) => {
|
||||
if (!meta.item.script) {
|
||||
meta.item.script = {};
|
||||
|
|
@ -22,6 +27,18 @@ export const createViPassProp = (vi: { meta: VG["meta"] }, meta: IMeta) => {
|
|||
}
|
||||
}
|
||||
|
||||
if (
|
||||
!Array.isArray(arg.children) &&
|
||||
!isValidElement(arg.children) &&
|
||||
typeof arg.children === "object"
|
||||
) {
|
||||
const child_id = (arg.children as any).id;
|
||||
if (child_id) {
|
||||
const meta = vi.meta[child_id];
|
||||
return <ViChild is_layout={is_layout} meta={meta} />;
|
||||
}
|
||||
}
|
||||
|
||||
return modifyChild(arg, meta.script?.scope);
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue