antui-admin
Version:
admin ui for antd
76 lines (58 loc) • 2.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _select = require('antd/lib/select');
var _select2 = _interopRequireDefault(_select);
require('antd/lib/select/style/css');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* 下拉菜单元件
*/
exports.default = function (_ref) {
var form = _ref.form,
name = _ref.name,
dict = _ref.dict,
_ref$formFieldOptions = _ref.formFieldOptions,
formFieldOptions = _ref$formFieldOptions === undefined ? {} : _ref$formFieldOptions,
record = _ref.record,
initialValue = _ref.initialValue,
rules = _ref.rules,
onChange = _ref.onChange,
otherProps = (0, _objectWithoutProperties3.default)(_ref, ['form', 'name', 'dict', 'formFieldOptions', 'record', 'initialValue', 'rules', 'onChange']);
var getFieldDecorator = form.getFieldDecorator;
var initval = initialValue;
if (record) {
initval = record[name];
}
// 如果存在初始值
if (initval !== null && typeof initval !== "undefined") {
formFieldOptions.initialValue = initval;
}
// 如果有rules
if (rules && rules.length) {
formFieldOptions.rules = rules;
}
// 如果需要onChange
if (typeof onChange === "function") {
formFieldOptions.onChange = function (value) {
return onChange(form, value);
}; // form, value
}
return getFieldDecorator(name, formFieldOptions)(_react2.default.createElement(
_select2.default,
otherProps,
dict.map(function (dic, i) {
return _react2.default.createElement(
_select2.default.Option,
{ key: dic.code, value: dic.code, title: dic.codeName },
dic.codeName
);
})
));
};
module.exports = exports['default'];