@alicd/crui-form-item
Version:
@alicd/next 中 Form.Item 组件能力的扩展,增加了错误的提示方式 showValidateType ,其他能力和 Form.Item 保持一致,必须放置在 Form 元素中
119 lines (94 loc) • 3.72 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _form = require('@alicd/next/lib/form');
var _form2 = _interopRequireDefault(_form);
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var FormItem = function (_React$Component) {
(0, _inherits3.default)(FormItem, _React$Component);
function FormItem() {
(0, _classCallCheck3.default)(this, FormItem);
return (0, _possibleConstructorReturn3.default)(this, (FormItem.__proto__ || (0, _getPrototypeOf2.default)(FormItem)).apply(this, arguments));
}
(0, _createClass3.default)(FormItem, [{
key: 'render',
value: function render() {
var child = this.props.children;
var _props = this.props,
label = _props.label,
labelCol = _props.labelCol,
wrapperCol = _props.wrapperCol,
help = _props.help,
extra = _props.extra,
hasFeedback = _props.hasFeedback,
style = _props.style,
classNameOrg = _props.className,
size = _props.size,
validateTooltipAlign = _props.validateTooltipAlign;
var className = (0, _classnames2.default)(classNameOrg, size ? ['next-form-item-' + size] : []);
if (this.props.showValidateType === 'tooltip') {
return _react2.default.createElement(
_form2.default.Item,
{
label: label,
labelCol: labelCol,
wrapperCol: wrapperCol,
extra: extra,
style: style,
size: size,
className: (0, _classnames2.default)(className, "form-tooltip-explain", 'form-tooltip-explain-' + validateTooltipAlign),
hasFeedback: hasFeedback },
child || this.props.value,
_react2.default.createElement(
'span',
{ className: 'form-tooltip-explain-help' },
help
)
);
} else {
return _react2.default.createElement(
_form2.default.Item,
{
label: label,
help: help,
labelCol: labelCol,
wrapperCol: wrapperCol,
extra: extra,
style: style,
size: size,
className: className,
hasFeedback: hasFeedback },
child || this.props.value
);
}
}
}]);
return FormItem;
}(_react2.default.Component);
FormItem.propTypes = {
showValidateType: _propTypes2.default.oneOf(['help', 'tooltip']),
validateTooltipAlign: _propTypes2.default.oneOf(["tl", "tr", "bl", "br"])
};
FormItem.defaultProps = {
showValidateType: 'help',
validateTooltipAlign: "tl"
};
exports.default = FormItem;
module.exports = exports['default'];