70 lines
2.3 KiB
JavaScript
70 lines
2.3 KiB
JavaScript
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
import { useIntl } from '@ant-design/pro-provider';
|
|
import { Input } from 'antd';
|
|
import React, { useEffect, useImperativeHandle, useRef } from 'react';
|
|
// 兼容代码-----------
|
|
import "antd/es/input/style";
|
|
//------------
|
|
|
|
/**
|
|
* 最基本的组件,就是个普通的 Input
|
|
*
|
|
* @param
|
|
*/
|
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
var FieldText = function FieldText(_ref, ref) {
|
|
var text = _ref.text,
|
|
mode = _ref.mode,
|
|
render = _ref.render,
|
|
renderFormItem = _ref.renderFormItem,
|
|
fieldProps = _ref.fieldProps,
|
|
_ref$emptyText = _ref.emptyText,
|
|
emptyText = _ref$emptyText === void 0 ? '-' : _ref$emptyText;
|
|
var _ref2 = fieldProps || {},
|
|
autoFocus = _ref2.autoFocus,
|
|
_ref2$prefix = _ref2.prefix,
|
|
prefix = _ref2$prefix === void 0 ? '' : _ref2$prefix,
|
|
_ref2$suffix = _ref2.suffix,
|
|
suffix = _ref2$suffix === void 0 ? '' : _ref2$suffix;
|
|
var intl = useIntl();
|
|
var inputRef = useRef();
|
|
useImperativeHandle(ref, function () {
|
|
return inputRef.current;
|
|
}, []);
|
|
useEffect(function () {
|
|
if (autoFocus) {
|
|
var _inputRef$current;
|
|
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
|
|
}
|
|
}, [autoFocus]);
|
|
if (mode === 'read') {
|
|
var dom = /*#__PURE__*/_jsxs(_Fragment, {
|
|
children: [prefix, text !== null && text !== void 0 ? text : emptyText, suffix]
|
|
});
|
|
if (render) {
|
|
var _render;
|
|
return (_render = render(text, _objectSpread({
|
|
mode: mode
|
|
}, fieldProps), dom)) !== null && _render !== void 0 ? _render : emptyText;
|
|
}
|
|
return dom;
|
|
}
|
|
if (mode === 'edit' || mode === 'update') {
|
|
var placeholder = intl.getMessage('tableForm.inputPlaceholder', '请输入');
|
|
var _dom = /*#__PURE__*/_jsx(Input, _objectSpread({
|
|
ref: inputRef,
|
|
placeholder: placeholder,
|
|
allowClear: true
|
|
}, fieldProps));
|
|
if (renderFormItem) {
|
|
return renderFormItem(text, _objectSpread({
|
|
mode: mode
|
|
}, fieldProps), _dom);
|
|
}
|
|
return _dom;
|
|
}
|
|
return null;
|
|
};
|
|
export default /*#__PURE__*/React.forwardRef(FieldText); |