Package Exports
- wumu-edit-table
- wumu-edit-table/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (wumu-edit-table) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
wumu-edit-table
A simple react edit-table component
在线示例
🎊features
- 🏳🌈 简单易用,点哪编辑哪
- 🚀 虚拟滚动,再多数据都不怕卡顿啦
📌 todo list
- 📑 行内新增和删除
- 📑 自定义 cellRender
- 📑 其他类型 input:select、checkbox
- 📑 固定列
- 📑 表头可伸缩
🔨Usage
引入包
$ npm i wumu-edit-table简单使用
设计 api 时参考了antd design table
定义表头和数据;定义当前编辑的单元格editId;定义当前数据dataSource
import React, { useState } from 'react';
import { EditTable } from 'wumu-edit-table';
export default () => {
const [editId, onEdit] = useState('');
const columns = [
{ title: '序号', dataIndex: 'index', width: 60, align: 'center' },
{ title: '版本号', dataIndex: 'verison', width: 300 },
{ title: '更新日志', dataIndex: 'log', align: 'right', width: 300 },
{ title: '备注', dataIndex: 'remark' },
];
const dataSource = [
{ verison: '0.0.1', log: 'init project', remark: '👊based on dumi v2' },
{ verison: '0.0.2', log: 'add header Render', },
{ verison: '0.0.3', log: 'feat style' },
{ verison: '💥0.1.0', log: 'add changeHandle', remark: '基础功能已经可用' },
{ verison: '0.1.2', log: 'add api docs', remark: '✨新增api文档' },
{ verison: '🎊0.1.3', log: 'add github pages', remark: '地址: https://wumusenlin.github.io/wumu-edit-table/components/edit-table' },
];
const [list, setList] = useState(dataSource.map((x, index) => ({ ...x, index })));
const addLine = () => {
setList((preList) => preList.concat([{}]));
};
const deleteLine = () => {
setList((preList) => preList.slice(0, -1));
};
const deleteAll = () => {
setList([]);
};
const onChange = (newList: any, options: any) => {
console.log('options', options);
setList(newList);
};
return (
<div>
<div style={{ display: 'flex', marginBottom: '16px' }}>
<button onClick={addLine} type="button">
新增一行到最后
</button>
<button onClick={deleteLine} type="button" >
删除最后一行
</button>
<button onClick={deleteAll} type="button">
删除所有数据
</button>
</div>
<EditTable
editId={editId}
onEdit={onEdit}
columns={columns}
dataSource={list}
onChange={onChange}
/>
</div>
);
};⚙ Options
👊 power by
based on dumi v2
📊 LICENSE
MIT