UNPKG

@aliretail/react-materials-components

Version:
44 lines (36 loc) 1.36 kB
import { connect } from '@formily/next'; import { mapStyledProps } from "../shared"; import Input from "../../Input"; import Preview from "./Preview"; export var mapPreviewComponent = function mapPreviewComponent(Target, props, fieldProps) { if (fieldProps === void 0) { fieldProps = {}; } var _fieldProps = fieldProps, editable = _fieldProps.editable; if (editable !== undefined) { if (editable === false) { var _props$xComponentPr; // 进入到预览态 // 如果 props 中有 readOnlyRender,使用 readOnlyRender 的展示,否则使用 PreviewText if ((_props$xComponentPr = props['x-component-props']) !== null && _props$xComponentPr !== void 0 && _props$xComponentPr.readOnlyRender) { return props['x-component-props'].readOnlyRender; } return Preview; } } return Target; }; export var TextAreaConnectProps = function TextAreaConnectProps(props, fieldProps) { mapStyledProps(props, fieldProps); // 当是disabled状态是不显示清除按钮 if (props.disabled) { props.hasClear = false; } // 当有限制长度的时候自动显示 if ('maxLength' in props && !('showLimitHint' in props)) { props.showLimitHint = true; } }; export var TextArea = connect({ getProps: TextAreaConnectProps, getComponent: mapPreviewComponent })(Input.TextArea);