alibaba/lowcode-engine

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

Open

#558 geöffnet am 27. Mai 2022

Auf GitHub ansehen
 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)TypeScript (2.228 Forks)batch import
help wanted

Repository-Metriken

Stars
 (12.714 Stars)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

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

Contributor Guide