From 0fb5f511d0974a8f5a0051569e24eb906f45c50b Mon Sep 17 00:00:00 2001 From: wangailin Date: Fri, 11 Mar 2022 15:38:04 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E8=AF=A6=E6=83=85=E9=A1=B5?= =?UTF-8?q?=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/detail/image/index.tsx | 68 +++++++++++++++++++++++++++ src/components/detail/index.tsx | 4 ++ src/index.tsx | 1 + 3 files changed, 73 insertions(+) create mode 100644 src/components/detail/image/index.tsx diff --git a/src/components/detail/image/index.tsx b/src/components/detail/image/index.tsx new file mode 100644 index 0000000..9bc21f1 --- /dev/null +++ b/src/components/detail/image/index.tsx @@ -0,0 +1,68 @@ +import React from 'react' +import { DetailField, DetailFieldConfig, IDetailField } from '../common' + +/** + * 详情项图片组件 格式定义 + * - type: 图片类型 + * - height: 图片高度 + * - width: 图片宽度 + * - preview: 点击预览 + */ +export interface ImageDetailConfig extends DetailFieldConfig { + type: 'Image', + height?: string | number + width?: string | number + preview?: boolean +} + +export interface IImageDetail { + value: string + height: string | number + width: string | number + preview?: boolean +} + +export default class ImageDetail extends DetailField implements IDetailField { + renderComponent = (props: IImageDetail) => { + return + 您当前使用的UI版本没有实现Image组件。 +
+
+
+ } + + getValue = () => { + const { + value, + config: { + defaultValue + } + } = this.props + if (value === undefined || value === null || value === '') { + return defaultValue !== undefined ? defaultValue : '' + } + return value + } + + render = () => { + const { + config: { + height, + width, + preview + } + } = this.props + const props: any = { + height, + width, + preview, + value: this.getValue() + } + + return ( + + {this.renderComponent(props)} + + ) + } +} diff --git a/src/components/detail/index.tsx b/src/components/detail/index.tsx index 24ae057..a88014b 100644 --- a/src/components/detail/index.tsx +++ b/src/components/detail/index.tsx @@ -2,6 +2,7 @@ import TextField, { TextFieldConfig } from './text' import EnumDetail, { EnumDetailConfig } from './enum' import StatementDetail, { StatementDetailConfig } from './statement' +import ImageDetail, { ImageDetailConfig } from './image' import GroupField, { GroupFieldConfig } from './group' import ImportSubformField, { ImportSubformFieldConfig } from './importSubform' @@ -13,6 +14,7 @@ export type DetailFieldConfigs = TextFieldConfig | EnumDetailConfig | StatementDetailConfig | + ImageDetailConfig | GroupFieldConfig | ImportSubformFieldConfig @@ -21,6 +23,7 @@ export type componentType = 'group' | 'detail_enum' | 'statement' | + 'image' | 'import_subform' export default { @@ -28,5 +31,6 @@ export default { text: TextField, import_subform: ImportSubformField, detail_enum: EnumDetail, + image: ImageDetail, statement: StatementDetail } diff --git a/src/index.tsx b/src/index.tsx index b193a05..f91a5da 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -56,6 +56,7 @@ export { default as DetailStep } from './steps/detail' export { default as DetailGroupField } from './components/detail/group' export { default as DetailEunmField } from './components/detail/enum' export { default as DetailStatementField } from './components/detail/statement' +export { default as DetailImageField } from './components/detail/image' export { default as DetailTextField } from './components/detail/text' export { default as DetailImportSubformField } from './components/detail/importSubform' -- Gitee From 9e08faa1014a1b28a0f9af612e34d5ec2e3ad9f6 Mon Sep 17 00:00:00 2001 From: wangailin Date: Thu, 14 Apr 2022 15:15:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E6=9B=B4=E6=96=B0image=E7=9A=84type?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/detail/image/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/detail/image/index.tsx b/src/components/detail/image/index.tsx index 9bc21f1..2783cb1 100644 --- a/src/components/detail/image/index.tsx +++ b/src/components/detail/image/index.tsx @@ -9,7 +9,7 @@ import { DetailField, DetailFieldConfig, IDetailField } from '../common' * - preview: 点击预览 */ export interface ImageDetailConfig extends DetailFieldConfig { - type: 'Image', + type: 'image', height?: string | number width?: string | number preview?: boolean -- Gitee