alibaba/lowcode-engine

meta.ts 中的 extraProps.setValue 在初始化时不被调用

Open

#558 建立於 2022年5月27日

在 GitHub 查看
 (1 留言) (0 反應) (0 負責人)TypeScript (2,228 fork)batch import
help wanted

倉庫指標

Star
 (12,714 star)
PR 合併指標
 (30 天內沒有已合併 PR)

描述

Describe the bug (required) / 详细描述 bug(必填)

在 snippet 中设置的初始属性不会导致对应的 extraProps.setValue 调用。


To Reproduce (required) / 如何复现 bug?(必填,非常重要)

  1. 用脚手架生成一个新的组件工程;
  2. 参照 https://github.com/alibaba/lowcode-materials/blob/main/packages/fusion-lowcode-materials/lowcode/responsive-grid/meta.ts 实现一个返回 ResponsiveGrid 的布局组件, layout 和 extraProps.setValue 完全从该例子拷贝;
  3. 添加如下的 snippet:
const snippets: Snippet[] = [
  {
    "title": "弹性布局(4:8)",
    "screenshot": "https://alifd.alicdn.com/fusion-cool/icons/icon-antd/1-1.png",
    "schema": {
      "componentName": "SomeBlock",
      "props": {
        layout: '4:8',
      },
    }
  }
];
  1. 运行 yarn lowcode:dev 进行调试。组件可以正常拖进来使用,也可以看到属性框中的 layout 值是 4:8 ,但是并没有执行 setValue (用 console.log 验证),必须再手动修改一下 layout 的值才会触发 setValue,(比如在后面加上一个空格再删掉);

Expected behavior (required) / 预期行为(必填,非常重要)

应能够在明确设置初始属性的时候调用对应的 extraProps.setValue

貢獻者指南