Skip to content

Commit fcfce3c

Browse files
LeoYuanliujuping
authored andcommitted
fix: defaultValue should be evaluated inspite of condition result is falsy, fixes alibaba#1045
1 parent 4b8ec09 commit fcfce3c

File tree

2 files changed

+27
-24
lines changed

2 files changed

+27
-24
lines changed

packages/editor-skeleton/src/components/settings/settings-pane.tsx

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,6 @@ class SettingFieldView extends Component<SettingFieldViewProps, SettingFieldView
7878
console.error('exception when condition (hidden) is excuted', error);
7979
}
8080

81-
if (!visible) {
82-
return null;
83-
}
8481
const { setter } = field;
8582

8683
let setterProps: any = {};
@@ -107,27 +104,6 @@ class SettingFieldView extends Component<SettingFieldViewProps, SettingFieldView
107104
setterType = setter;
108105
}
109106

110-
// 根据是否支持变量配置做相应的更改
111-
const supportVariable = field.extraProps?.supportVariable;
112-
// supportVariableGlobally 只对标准组件生效,vc 需要单独配置
113-
const supportVariableGlobally = engineConfig.get('supportVariableGlobally', false) && isStandardComponent(componentMeta);
114-
if (supportVariable || supportVariableGlobally) {
115-
if (setterType === 'MixedSetter') {
116-
// VariableSetter 不单独使用
117-
if (Array.isArray(setterProps.setters) && !setterProps.setters.includes('VariableSetter')) {
118-
setterProps.setters.push('VariableSetter');
119-
}
120-
} else {
121-
setterType = 'MixedSetter';
122-
setterProps = {
123-
setters: [
124-
setter,
125-
'VariableSetter',
126-
],
127-
};
128-
}
129-
}
130-
131107
let value = null;
132108
if (defaultValue != null && !('defaultValue' in setterProps)) {
133109
setterProps.defaultValue = defaultValue;
@@ -152,6 +128,31 @@ class SettingFieldView extends Component<SettingFieldViewProps, SettingFieldView
152128
value = _initialValue;
153129
}
154130

131+
if (!visible) {
132+
return null;
133+
}
134+
135+
// 根据是否支持变量配置做相应的更改
136+
const supportVariable = field.extraProps?.supportVariable;
137+
// supportVariableGlobally 只对标准组件生效,vc 需要单独配置
138+
const supportVariableGlobally = engineConfig.get('supportVariableGlobally', false) && isStandardComponent(componentMeta);
139+
if (supportVariable || supportVariableGlobally) {
140+
if (setterType === 'MixedSetter') {
141+
// VariableSetter 不单独使用
142+
if (Array.isArray(setterProps.setters) && !setterProps.setters.includes('VariableSetter')) {
143+
setterProps.setters.push('VariableSetter');
144+
}
145+
} else {
146+
setterType = 'MixedSetter';
147+
setterProps = {
148+
setters: [
149+
setter,
150+
'VariableSetter',
151+
],
152+
};
153+
}
154+
}
155+
155156
let _onChange = extraProps?.onChange;
156157
let stageName = this.stageName;
157158

packages/engine/src/modules/editor-cabin.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ export {
66
intl,
77
createSetterContent,
88
obx,
9+
observable,
10+
makeObservable,
911
untracked,
1012
computed,
1113
observer,

0 commit comments

Comments
 (0)