From 38389cf5b80935509cbcdf9efa32cdeef3b1ba95 Mon Sep 17 00:00:00 2001 From: liujuping Date: Mon, 7 Mar 2022 23:24:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20JSFunction=20?= =?UTF-8?q?=E8=A1=A8=E8=BE=BE=E5=BC=8F=E4=BD=BF=E7=94=A8=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E5=8E=BB=E6=8E=89=20this=20=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=20scope=20=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/renderer-core/src/renderer/base.tsx | 2 +- packages/renderer-core/src/utils/common.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/renderer-core/src/renderer/base.tsx b/packages/renderer-core/src/renderer/base.tsx index 200bdb409..fc612b430 100644 --- a/packages/renderer-core/src/renderer/base.tsx +++ b/packages/renderer-core/src/renderer/base.tsx @@ -712,7 +712,7 @@ export default function baseRenererFactory() { ) { return checkProps(props); } - if (isJSExpression(props)) { + if (isJSExpression(props) || isJSFunction(props)) { props = parseExpression(props, scope); // 只有当变量解析出来为模型结构的时候才会继续解析 if (!isSchema(props) && !isJSSlot(props)) return checkProps(props); diff --git a/packages/renderer-core/src/utils/common.ts b/packages/renderer-core/src/utils/common.ts index 78bead5ac..55e5c1efc 100644 --- a/packages/renderer-core/src/utils/common.ts +++ b/packages/renderer-core/src/utils/common.ts @@ -412,7 +412,7 @@ export function parseData(schema: any, self: any): any { return schema; } -/* 全匹配{{开头,}}结尾的变量表达式,或者对象类型JSExpression,支持省略this */ +/* 全匹配{{开头,}}结尾的变量表达式,或者对象类型JSExpression/JSFunction,支持省略this */ export function parseExpression(str: any, self: any) { try { const contextArr = ['"use strict";', 'var __self = arguments[0];'];