UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

106 lines 2.79 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray"; import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; import React, { useState, useEffect } from 'react'; import { LmTable, Space } from "../.."; var createDataSource = function createDataSource(start) { var arr = []; for (var i = start; i < start + 30000; i += 1) { var obj = { key: "key_".concat(i), name: "\u5C0F\u9EC4_".concat(i), id: "id_".concat(i), age: "87", address: "\u676D\u5DDE_".concat(i), height: i, favorite2: "\u7BEE\u7403_".concat(i), favorite: "\u8DB3\u7403_".concat(i), sex: i % 3 === 0 ? '男' : '女' }; arr.push(obj); } return arr; }; var columns = [{ title: '姓名', dataIndex: 'name', key: 'name', width: 100 }, { title: '爱好', dataIndex: 'favorite', key: 'favorite', width: 100 }, { title: '爱好2', dataIndex: 'favorite2', key: 'favorite2', width: 100 }, { title: '年龄', dataIndex: 'age', key: 'age', etype: 'number', width: 100 }, { title: '薪水', dataIndex: 'height', key: 'height', etype: 'number', width: 100, expression: 'sum' }, { title: '住址', dataIndex: 'address', key: 'address', width: 100 }]; var App = function App() { var _useState = useState([]), _useState2 = _slicedToArray(_useState, 2), dataSource = _useState2[0], setDataSource = _useState2[1]; useEffect(function () { setTimeout(function () { if (dataSource.length >= 500) { return; } var data = createDataSource(dataSource.length); setDataSource([].concat(_toConsumableArray(dataSource), _toConsumableArray(data))); }, 500); }, [dataSource]); var dataChange = function dataChange(newDataSource) { setDataSource(_toConsumableArray(newDataSource)); }; var config = { pagination: false, scroll: { y: 300 }, virtual: true, hiddenPage: true }; return /*#__PURE__*/React.createElement(Space, { direction: "vertical", style: { width: '100%' } }, /*#__PURE__*/React.createElement("div", null, "\u6570\u636E\u603B\u6570\uFF1A ", dataSource.length), /*#__PURE__*/React.createElement(LmTable, _extends({}, config, { dataSource: dataSource, columns: columns // 表格行 key 的取值,可以是字符串或一个函数 , rowKey: "key", size: "small", dataChange: dataChange, resizeable: true // 表头列宽度是否可拖动 , openRowGroup: true // 开启行分组 , rowGroupTitle: "\u884C\u5206\u7EC4\u6807\u9898", openColGroup: true // 开启列分组 , colGroupTitle: "\u5217\u5206\u7EC4\u6807\u9898" }))); }; export default App;