fix merge bug

This commit is contained in:
金禅 2020-08-11 23:55:13 +08:00
parent 628cbf6b70
commit 9f9c38c676
7 changed files with 31 additions and 20 deletions

View File

@ -1583,7 +1583,7 @@
"name": "icon",
"setter": "IconSetter",
"extraProps": {
"defaultValue": "success",
"defaultValue": "",
"onChange": {
"type": "JSFunction",
"value": "(val, field, editor) => {\n field.nodes[0].children.import(val && {\"componentName\": \"Icon\", \"props\": {\"type\": val, \"style\": {\"marginRight\": 5}}}, true); //field.top.setPropValue('children', [{\"componentName\": \"Icon\", \"props\": {\"type\": val}}, (field.top.getPropValue('children') || []).slice(-1)]);\n}"
@ -1592,6 +1592,7 @@
},
{
"name": "children",
"title": "文本内容",
"setter": {
"componentName": "MixedSetter",
"props": {
@ -13940,7 +13941,14 @@
"labelPlacement": "ver",
"shape": "circle",
"animation": true
}
},
"children": [
{
"componentName": "StepItem",
"status": "process",
"title": "测试"
}
]
}
}
]

File diff suppressed because one or more lines are too long

View File

@ -432,7 +432,7 @@ export class Designer {
designer._componentMetasMap.forEach((config, key) => {
const metaData = config.getMetadata();
if (metaData.devMode === 'lowcode') {
maps[key] = metaData.schema;
maps[key] = this.currentDocument?.simulator?.createComponent(metaData.schema!);
} else {
const view = metaData.experimental?.view;
if (view) {

View File

@ -42,8 +42,7 @@ export class Transducer {
} else if (isValidElement(setter) && setter.type.displayName === 'MixedSetter') {
setter = setter.props?.setters?.[0];
} else if (typeof setter === 'object' && setter.componentName === 'MixedSetter') {
setter = setter;
setter.props && setter.props.setters && Array.isArray(setter.props.setters) && setter.props.setters[0];
setter = setter && setter.props && setter.props.setters && Array.isArray(setter.props.setters) && setter.props.setters[0];
}
if (isSetterConfig(setter)) {

View File

@ -8,7 +8,7 @@ import JsonSetter from './json-setter';
import EventsSetter from './events-setter';
import StyleSetter from './style-setter';
import IconSetter from './icon-setter';
import MixedSetter from './mixed-setter';
// import MixedSetter from './mixed-setter';
export const StringSetter = {
component: Input,
@ -44,7 +44,7 @@ export const DateYearSetter = DatePicker.YearPicker;
export const DateMonthSetter = DatePicker.MonthPicker;
export const DateRangeSetter = DatePicker.RangePicker;
export { ExpressionSetter, EventsSetter, JsonSetter, MixedSetter };
export { ExpressionSetter, EventsSetter, JsonSetter, IconSetter };
class StringDateSetter extends Component {
render() {
@ -71,21 +71,24 @@ class StringTimePicker extends Component {
}
}
const VariableSetter ={
component: ExpressionSetter,
condition: (field: any) => {
const v = field.getValue();
return v == null || isJSExpression(v);
},
defaultProps: { placeholder: '请输入表达式' },
title: '表达式输入',
recommend: true,
};
const builtinSetters: any = {
StringSetter,
NumberSetter,
BoolSetter,
SelectSetter,
ExpressionSetter: {
component: ExpressionSetter,
condition: (field: any) => {
const v = field.getValue();
return v == null || isJSExpression(v);
},
defaultProps: { placeholder: '请输入表达式' },
title: '表达式输入',
recommend: true,
},
VariableSetter,
ExpressionSetter: VariableSetter,
RadioGroupSetter,
TextAreaSetter,
DateSetter: StringDateSetter,
@ -98,7 +101,6 @@ const builtinSetters: any = {
JsonSetter,
StyleSetter,
IconSetter,
MixedSetter,
};
registerSetter(builtinSetters);

View File

@ -92,7 +92,7 @@ function nomalizeSetters(setters?: Array<string | SetterConfig | CustomView | Dy
config.initialValue = info?.initialValue;
}
} else {
config.name = generateName((config.setter as any).displayName || (config.setter as any).name || 'CustomSetter');
config.name = generateName((config.setter as any)?.displayName || (config.setter as any)?.name || 'CustomSetter');
if (!config.title) {
config.title = config.name;
}

View File

@ -4,3 +4,5 @@ export * from './types';
export * from './components/settings';
export * from './components/field';
export * from './context';
import './register-defaults';