From 052e930268f83892bc53b8463d9a99e0a8814ecd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=91=E7=A6=85?= Date: Fri, 14 Aug 2020 14:44:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20link=20=E5=92=8C=20image?= =?UTF-8?q?=20=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/demo/public/assets.json | 139 ++++++++++++++++++ .../src/renderer-view.tsx | 3 + packages/utils/src/build-components.ts | 2 +- 3 files changed, 143 insertions(+), 1 deletion(-) diff --git a/packages/demo/public/assets.json b/packages/demo/public/assets.json index af6d3a77b..a03fd0867 100644 --- a/packages/demo/public/assets.json +++ b/packages/demo/public/assets.json @@ -60,6 +60,99 @@ } } }, + { + "componentName": "a", + "title": "Link", + "npm": { + "exportName": "a" + }, + "props": [ + { + "name": "href", + "title": "链接", + "propType": "string", + "defaultValue": "https://fusion.design" + }, + { + "name": "children", + "title": "内容", + "propType": { + "type": "oneOfType", + "value": [ + "string", + "node" + ] + }, + "defaultValue": "这是一个超链接" + }, + { + "name": "style", + "propType": "object" + }, + { + "name": "target", + "title": "新开页面", + "propType": { + "type": "oneOf", + "value": [ + "_blank", + "_self" + ] + } + } + ] + }, + { + "componentName": "img", + "title": "Image", + "npm": { + "exportName": "img" + }, + "props": [ + { + "name": "src", + "title": "图片链接", + "propType": "string", + "defaultValue": "https://img.alicdn.com/tps/TB16TQvOXXXXXbiaFXXXXXXXXXX-120-120.svg" + }, + { + "name": "title", + "title": { + "label": "标题", + "tip": "HTML 原生 title 属性" + }, + "propType": "string" + }, + { + "name": "alt", + "title": { + "label": "代替文本", + "tip": "HTML 原生 alt 属性" + }, + "propType": "string" + }, + { + "name": "width", + "title": { + "label": "宽度", + "tip": "HTML 原生 width 属性" + }, + "propType": "number" + }, + { + "name": "height", + "title": { + "label": "高度", + "tip": "HTML 原生 height 属性" + }, + "propType": "number" + }, + { + "name": "style", + "propType": "object" + } + ] + }, { "componentName": "Div", "title": "Div", @@ -13613,6 +13706,52 @@ } ] }, + { + "componentName": "a", + "title": "Link", + "icon": "", + "snippets": [ + { + "title": "Link", + "screenshot": "https://img.alicdn.com/tfs/TB15DZVReL2gK0jSZFmXXc7iXXa-200-200.svg", + "schema": { + "componentName": "a", + "title": "Link", + "props": { + "href": "https://fusion.design", + "target": "_blank", + "children": { + "type": "JSSlot", + "value": { + "componentName": "Typography.Text", + "props": { + "children": "这是一个超链接" + } + } + } + } + } + } + ] + }, + { + "componentName": "img", + "title": "Image", + "icon": "", + "snippets": [ + { + "title": "Image", + "screenshot": "https://img.alicdn.com/tfs/TB10nEur.Y1gK0jSZFCXXcwqXXa-234-230.png", + "schema": { + "title": "Image", + "componentName": "img", + "props": { + "src": "https://img.alicdn.com/tps/TB16TQvOXXXXXbiaFXXXXXXXXXX-120-120.svg" + } + } + } + ] + }, { "componentName": "Button", "title": "按钮", diff --git a/packages/react-simulator-renderer/src/renderer-view.tsx b/packages/react-simulator-renderer/src/renderer-view.tsx index c2f747923..5d7b443cd 100644 --- a/packages/react-simulator-renderer/src/renderer-view.tsx +++ b/packages/react-simulator-renderer/src/renderer-view.tsx @@ -131,6 +131,9 @@ class Renderer extends Component<{ renderer: SimulatorRenderer }> { ); } + if(viewProps._componentName === 'a') { + delete viewProps.href; + } // FIXME: 渲染仍有问题 if (viewProps._componentName === 'Menu') { Object.assign(viewProps, { diff --git a/packages/utils/src/build-components.ts b/packages/utils/src/build-components.ts index 92c74b026..10fef43d0 100644 --- a/packages/utils/src/build-components.ts +++ b/packages/utils/src/build-components.ts @@ -12,7 +12,7 @@ function accessLibrary(library: string | object) { return library; } - return (window as any)[library]; + return (window as any)[library] || library; } export function getSubComponent(library: any, paths: string[]) {