diff --git a/packages/demo/public/assets.json b/packages/demo/public/assets.json index 2de653885..e09942d48 100644 --- a/packages/demo/public/assets.json +++ b/packages/demo/public/assets.json @@ -189,7 +189,21 @@ }, { "name": "columns", - "propType": "array" + "propType": { + "type": "arrayOf", + "value": { + "type": "shape", + "value": [{ + "name": "title", + "description": "列标题", + "propType": "string" + },{ + "name": "dataIndex", + "description": "列名称", + "propType": "string" + }] + } + } }, { "name": "emptyContent", diff --git a/packages/editor-skeleton/src/transducers/parse-props.ts b/packages/editor-skeleton/src/transducers/parse-props.ts index 0bf803e41..d9b960e28 100644 --- a/packages/editor-skeleton/src/transducers/parse-props.ts +++ b/packages/editor-skeleton/src/transducers/parse-props.ts @@ -92,7 +92,7 @@ function propTypeToSetter(propType: PropType): SetterType { }; case 'shape': case 'exact': - const items = (propType as Shape).value.map((item) => propConfigToFieldConfig(item)); + const items = ((propType as any).value || []).map((item: any) => propConfigToFieldConfig(item)); return { componentName: 'ObjectSetter', props: { @@ -242,7 +242,6 @@ export default function(metadata: TransformedComponentMetadata): TransformedComp // 存在覆盖配置时 if (extendsProps) { - debugger; if (name in extendsProps) { prop = extendsProps[name]; }