zent
Version:
一套前端设计语言和基于React的实现
84 lines (71 loc) • 2.5 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _Td = require('./Td');
var _Td2 = _interopRequireDefault(_Td);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
// 需要传入一个组件模板
var Body = _react2['default'].createClass({
displayName: 'Body',
render: function render() {
var _props = this.props,
datasets = _props.datasets,
columns = _props.columns,
emptyLabel = _props.emptyLabel,
rowKey = _props.rowKey,
selection = _props.selection,
getRowConf = _props.getRowConf;
return _react2['default'].createElement(
'div',
{ className: 'tbody' },
datasets.length !== 0 ? datasets.map(function (rowData, rowIndex) {
var _getRowConf = getRowConf(rowData, rowIndex),
_getRowConf$canSelect = _getRowConf.canSelect,
canSelect = _getRowConf$canSelect === undefined ? true : _getRowConf$canSelect,
_getRowConf$rowClass = _getRowConf.rowClass,
rowClass = _getRowConf$rowClass === undefined ? '' : _getRowConf$rowClass;
return _react2['default'].createElement(
'div',
{ className: rowClass + ' tr', key: rowData[rowKey] ? rowData[rowKey] : rowIndex },
columns.map(function (item, columnIndex) {
// 位置信息
var pos = {
row: rowIndex,
column: columnIndex
};
var needSelect = false;
if (selection.needSelect && columnIndex === 0) {
needSelect = true;
}
return _react2['default'].createElement(_Td2['default'], {
column: item,
key: columnIndex,
data: rowData,
pos: pos,
rowKey: rowKey,
selection: {
needSelect: needSelect,
canSelect: canSelect,
selectedRowKeys: selection.selectedRowKeys,
onSelect: selection.onSelect
}
});
})
);
}) : _react2['default'].createElement(
'div',
{ className: 'tr' },
_react2['default'].createElement(
'div',
{ className: 'cell empty-data' },
emptyLabel
)
)
);
}
});
exports['default'] = Body;
module.exports = exports['default'];