From 776c884220007527c9eca3544b3200c4e96332b7 Mon Sep 17 00:00:00 2001 From: "lihao.ylh" Date: Tue, 19 Oct 2021 11:27:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=20supportVariable=20?= =?UTF-8?q?=E6=9D=A5=E9=85=8D=E7=BD=AE=E5=B1=9E=E6=80=A7=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/settings/settings-pane.tsx | 18 ++++++++++++++++++ packages/types/src/field-config.ts | 4 ++++ 2 files changed, 22 insertions(+) diff --git a/packages/editor-skeleton/src/components/settings/settings-pane.tsx b/packages/editor-skeleton/src/components/settings/settings-pane.tsx index e6d08b95f..e01b304d6 100644 --- a/packages/editor-skeleton/src/components/settings/settings-pane.tsx +++ b/packages/editor-skeleton/src/components/settings/settings-pane.tsx @@ -61,6 +61,24 @@ class SettingFieldView extends Component<{ field: SettingField }> { setterType = setter; } + // 根据是否支持变量配置做相应的更改 + const supportVariable = field.extraProps?.supportVariable; + if (supportVariable) { + if (setterType === 'MixedSetter') { + if (!setterProps.setters.includes('VariableSetter')) { + setterProps.setters.push('VariableSetter'); + } + } else { + setterType = 'MixedSetter'; + setterProps = { + setters: [ + setter, + 'VariableSetter', + ], + }; + } + } + let value = null; if (defaultValue != null && !('defaultValue' in setterProps)) { setterProps.defaultValue = defaultValue; diff --git a/packages/types/src/field-config.ts b/packages/types/src/field-config.ts index e95d07081..d5cb88bc5 100644 --- a/packages/types/src/field-config.ts +++ b/packages/types/src/field-config.ts @@ -41,6 +41,10 @@ export interface FieldExtraProps { * internal use */ forceInline?: number; + /** + * 是否支持变量配置 + */ + supportVariable?: boolean; /** * compatiable vision display */