@jannie-shao/components-antd4
Version:
29 lines • 1.27 kB
JavaScript
import "antd/es/form/style";
import _Form from "antd/es/form";
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
var _excluded = ["model", "itemRender"];
import React from 'react';
var RenderDependent = function RenderDependent(_ref) {
var model = _ref.model,
itemRender = _ref.itemRender,
props = _objectWithoutPropertiesLoose(_ref, _excluded);
return /*#__PURE__*/React.createElement(_Form.Item, _extends({}, props, {
noStyle: true,
shouldUpdate: function shouldUpdate(prevValues, currentValues) {
return prevValues[model.dependencies.key] !== currentValues[model.dependencies.key];
}
}), function (_ref2) {
var getFieldValue = _ref2.getFieldValue;
var val = getFieldValue(model.dependencies.key);
var mVal = model.dependencies.val;
if (Object.prototype.toString.call(mVal) === '[object Function]' && mVal(val) || Array.isArray(mVal) && mVal.includes(val) || mVal === val) {
if (Object.prototype.toString.call(model.items) === '[object Function]') {
return itemRender(model.items(val));
}
return itemRender(model.items || []);
}
return null;
});
};
export default RenderDependent;