alibaba / alibaba/lowcode-engine

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

Aperta
#558 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
help wanted
Lingua principale
TypeScript
Stelle
15.9k
Fork
2.7k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

## **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`。

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
typescript
Ambito
frontend
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.