alibaba / alibaba/lowcode-engine

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

Offen
#558 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
help wanted
Vorherrschende Sprache
TypeScript
Sterne
15.9k
Forks
2.7k
PR-Merge-Kennzahlen
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',
},
}
}
];
```
4. 运行 `yarn lowcode:dev` 进行调试。组件可以正常拖进来使用,也可以看到属性框中的 `layout` 值是 4:8 ,但是并没有执行 `setValue` (用 `console.log` 验证),必须再手动修改一下 layout 的值才会触发 `setValue`,(比如在后面加上一个空格再删掉);

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

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

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Start by comparing the component's meta.ts with the referenced lowcode-materials responsive-grid/meta.ts, then run yarn lowcode:dev and reproduce the snippet with layout set to 4:8. Trace the extraProps.setValue behavior during initialization. Done means explicitly set snippet properties invoke setValue without requiring a later manual edit.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
frontend
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.