@aliretail/react-materials-components
Version:
91 lines (73 loc) • 3.36 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _message = _interopRequireDefault(require("@alifd/next/lib/message"));
var _react = _interopRequireDefault(require("react"));
var _Tablex = require("../../Tablex");
var RelateMainModeTable = function RelateMainModeTable(props) {
var _props$dataSource = props.dataSource,
dataSource = _props$dataSource === void 0 ? [] : _props$dataSource,
setDataSource = props.setDataSource,
_props$columns = props.columns,
columns = _props$columns === void 0 ? [] : _props$columns,
onSave = props.onSave,
onDelete = props.onDelete; // 添加一条数据
var addRelateObj = function addRelateObj() {
var newDataSource = Object.assign([], dataSource);
if (newDataSource.filter(function (item) {
return !item.isComponentDisabled;
}).length) {
_message["default"].warning('请先保存再添加');
return;
} // 添加一条数据 根据动态列的dataIndex生成 一条以dataIndex为key的空对象
var columnsKeyObj = columns.map(function (item) {
var _ref;
return _ref = {}, _ref[item.dataIndex] = '', _ref;
}).reduce(function (keysObj, item) {
return Object.assign(keysObj, item);
}, {});
newDataSource.push((0, _extends2["default"])({}, columnsKeyObj, {
isComponentDisabled: false,
isSave: false
}));
setDataSource(newDataSource);
}; // 表格操作列
var operateCell = function operateCell(value, index, record) {
return !(record !== null && record !== void 0 && record.isComponentDisabled) ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("span", {
className: "relate-operate-button",
onClick: function onClick() {
return onSave(value, index, record);
}
}, "\u4FDD\u5B58"), "\xA0\xA0\xA0", /*#__PURE__*/_react["default"].createElement("span", {
className: "relate-operate-button",
onClick: function onClick() {
var newDataSource = Object.assign([], dataSource);
newDataSource.splice(index, 1);
setDataSource(newDataSource);
}
}, "\u53D6\u6D88")) : /*#__PURE__*/_react["default"].createElement("span", {
className: "relate-operate-button",
onClick: function onClick() {
return onDelete(value, index, record);
}
}, "\u5220\u9664");
};
return /*#__PURE__*/_react["default"].createElement(_Tablex.AliretailTableContainer, {
dataSource: dataSource,
columns: [].concat(columns, [{
title: '操作',
dataIndex: 'operate',
width: '15%',
cell: function cell(val, index, record) {
return operateCell(val, index, record);
}
}])
}, /*#__PURE__*/_react["default"].createElement(_Tablex.AliretailTableActionBar, null, /*#__PURE__*/_react["default"].createElement(_button["default"], {
onClick: addRelateObj
}, "\u6DFB\u52A0")), /*#__PURE__*/_react["default"].createElement(_Tablex.AliretailTable, null));
};
var _default = RelateMainModeTable;
exports["default"] = _default;