@antdp/edit-table
Version:
基于antd封装的组件
54 lines (52 loc) • 2.31 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.EditForms = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = _interopRequireDefault(require("react"));
var _rcFieldForm = _interopRequireDefault(require("rc-field-form"));
var _Store = _interopRequireDefault(require("./Store"));
var _jsxRuntime = require("react/jsx-runtime");
var _this = void 0;
var EditForms = exports.EditForms = /*#__PURE__*/_react["default"].createContext({
formsRef: new _Store["default"](),
dataSource: [],
rowKey: 'id',
onValuesChange: function onValuesChange(id, form, value, allValue) {}
});
/** tr 表格行自定义包裹内容 */
var Tr = function Tr(props) {
var _RcForm$useForm = _rcFieldForm["default"].useForm(),
_RcForm$useForm2 = (0, _slicedToArray2["default"])(_RcForm$useForm, 1),
form = _RcForm$useForm2[0];
var _React$useContext = _react["default"].useContext(EditForms),
formsRef = _React$useContext.formsRef,
_React$useContext$onV = _React$useContext.onValuesChange,
onValuesChange = _React$useContext$onV === void 0 ? function () {} : _React$useContext$onV,
dataSource = _React$useContext.dataSource,
rowKey = _React$useContext.rowKey;
_react["default"].useEffect(function () {
return function () {
return formsRef.remove("".concat(props['data-row-key']));
};
}, []);
formsRef.register("".concat(props['data-row-key']), form);
// 注册
var initValue = dataSource.find(
// 防止 字符串和数字进行对比
function (item) {
return "".concat(item[rowKey]) === "".concat(props['data-row-key']);
});
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_rcFieldForm["default"], {
onValuesChange: onValuesChange.bind(_this, "".concat(props['data-row-key']), form),
form: form,
name: "".concat(props['data-row-key']),
component: false,
initialValues: initValue || {},
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("tr", (0, _objectSpread2["default"])({}, props))
});
};
var _default = exports["default"] = Tr;