lowcode-engine icon indicating copy to clipboard operation
lowcode-engine copied to clipboard

预览和实际效果不一致,编写的表达式中获取不到ref

Open Shilver-afka opened this issue 2 years ago • 3 comments

  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 捕获了。但是令我疑惑的 是,我在配置完成后,点击的预览,那里却显示正常, 预览时有什么魔法么?

Shilver-afka avatar Dec 02 '22 12:12 Shilver-afka

@JackLian

Shilver-afka avatar Dec 02 '22 12:12 Shilver-afka

预览如果OK 那你是哪里失败的,提供个复现的步骤或者demo项目

JackLian avatar Dec 07 '22 01:12 JackLian

你好 @Shilver-afka,由于缺乏必要的信息(如 bug 重现步骤、引擎版本信息 等),无法定位问题,请按照 issue bug 模板 补全信息,也可以通过阅读引擎的 issue 说明 了解什么类型的 issue 可以获得更好、更快的支持。

github-actions[bot] avatar Dec 07 '22 01:12 github-actions[bot]

@Shilver-afka 参考一下 #1589, 应该是 Form 没有正确传递 ref

LeoYuan avatar Mar 29 '23 09:03 LeoYuan