lowcode-engine
lowcode-engine copied to clipboard
预览和实际效果不一致,编写的表达式中获取不到ref
getFormValue(key){
return this.$('form_jxks').getFieldsValue()[key]
}
equalExpression(key, val){
const res = this.getFormValue(key);
return Array.isArray(val) ? val.includes(res) : val === res ;
}
{!!__$$eval(() =>
this.equalExpression("have_special_notify_config", "2")
) && (
<Card
title={__$$eval(
() =>
`特殊配置「${
this.equalExpression("default_notify_action", "2")
? "不发通知"
: "发通知"
}」`
)}
这是生成的代码, 这段逻辑主要是想,根据用户表单填写的值,去控制Card组件的显隐, 生成的代码截选如上,
经过调试代码发现,根本拿不到ref, this.$('form_jxks') 运行结果是 null,直接被__$$eval 的try catch 捕获了。但是令我疑惑的 是,我在配置完成后,点击的预览,那里却显示正常, 预览时有什么魔法么?
@JackLian
预览如果OK 那你是哪里失败的,提供个复现的步骤或者demo项目
你好 @Shilver-afka,由于缺乏必要的信息(如 bug 重现步骤、引擎版本信息 等),无法定位问题,请按照 issue bug 模板 补全信息,也可以通过阅读引擎的 issue 说明 了解什么类型的 issue 可以获得更好、更快的支持。
@Shilver-afka 参考一下 #1589, 应该是 Form 没有正确传递 ref