@cloudbase/lowcode-builder 1.3.10 → 1.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/lowcode-builder",
3
- "version": "1.3.10",
3
+ "version": "1.3.11",
4
4
  "description": "云开发 Tencent CloudBase Framework Low Code Plugin,将低码配置生成完整项目并一键部署云开发资源。",
5
5
  "author": "yhsunshining@gmail.com",
6
6
  "homepage": "https://github.com/TencentCloudBase/cloudbase-framework#readme",
@@ -58,7 +58,7 @@ export function createComponent(key, behaviors, properties, events, handler, dat
58
58
  if(!$comp) return
59
59
 
60
60
  $comp.props.events = createPropEvents(events, this)
61
- const { widgets, rootWidget: virtualRootWidget } = createWidgets(widgetProps, dataBinds, this)
61
+ const { widgets, rootWidget: virtualRootWidget } = createWidgets(widgetProps, dataBinds, this, $comp.widgets)
62
62
  $comp.widgets = widgets
63
63
  this._virtualRootWidget = virtualRootWidget
64
64
 
@@ -196,7 +196,7 @@ export function createPage(
196
196
  });
197
197
  };
198
198
 
199
- const { widgets, rootWidget } = createWidgets(widgetProps, dataBinds, this);
199
+ const { widgets, rootWidget } = createWidgets(widgetProps, dataBinds, this, $page.widgets);
200
200
  $page.widgets = widgets
201
201
  $page._rootWidget = rootWidget;
202
202
 
@@ -74,7 +74,7 @@ export function resolveWidgetData(props) {
74
74
  return props.map(resolveWidgetData);
75
75
  }
76
76
 
77
- export function createWidgets(widgetProps, dataBinds, ownerMpInst) {
77
+ export function createWidgets(widgetProps, dataBinds, ownerMpInst, widgetHolder) {
78
78
  const rootNode = createWidgetDataTree(widgetProps, dataBinds);
79
79
  const failedBinds = [];
80
80
  const result = createSubWidgetTree(
@@ -85,6 +85,7 @@ export function createWidgets(widgetProps, dataBinds, ownerMpInst) {
85
85
  {},
86
86
  failedBinds,
87
87
  undefined,
88
+ widgetHolder
88
89
  );
89
90
  retryFailedBinds(failedBinds, true);
90
91
  return result;
@@ -104,14 +105,16 @@ function createSubWidgetTree(
104
105
  forContext = {},
105
106
  failedBinds = [],
106
107
  parentWidget = { children: observable([]), _disposers: [] },
108
+ widgetHolder = {}
107
109
  ) {
108
110
  const { ownerForWidgetHolder = {}, existingWidgetMap = {} } = ctx;
109
111
  /**
110
112
  * 不能类似web实现记录额外的 _disposers
111
113
  * const widgetHolder = { _disposers: [] }
112
114
  * 因为 merger-render.initMergeRenderer 里面没有特殊处理
115
+ * 因为 构建 widgets 过程中对 $page.widgets 进行了访问,需要使用副作用的方式,保持 $page.widgets 引用
113
116
  */
114
- const widgetHolder = {};
117
+ // const widgetHolder = {};
115
118
  const { lists: forLists = [] } = forContext;
116
119
  const currentIndex = forLists[0]?.currentIndex;
117
120
  const indexPostfix = (forContext.lists || [])
@@ -5,7 +5,7 @@
5
5
  "dependencies": {<% if(importJSSDK) {%>
6
6
  "@cloudbase/js-sdk": "2.5.6-beta.1",<% } %>
7
7
  "@cloudbase/oauth": "0.1.1-alpha.5",
8
- "@cloudbase/weda-client": "0.2.43",
8
+ "@cloudbase/weda-client": "0.2.45",
9
9
  "@cloudbase/weda-cloud-sdk": "1.0.26",
10
10
  "mobx": "^5.15.4",
11
11
  "lodash.get": "^4.4.2",