JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 20
  • Score
    100M100P100Q47359F
  • License MIT

A simple react edit-table component (一个轻量的无依赖的React可编辑表格)

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

NPM version NPM downloads  docs by dumi

A simple react edit-table component (一个轻量的无依赖的 React 可编辑表格)

DEMO

github pages | online demo

🎊features

  • 📑 行内新增和删除 git pages
  • 📑 自定义 cellRender
  • 📑 新增 select 类型输入git pages
  • 📑 固定列(横向滚动左侧固定和右侧固定)git pages

✨lightspot

  • 🏳‍🌈 简单易用,点哪编辑哪
  • 🚀 虚拟滚动,再多数据都不怕卡顿啦

📌 todo list

  1. 📑 行内新增和删除
  2. 📑 自定义 cellRender
  3. 📑 其他类型 input:select、checkbox
  4. 📑 固定列
  5. 📑 表头可伸缩
  6. 📑 表头拖拽排序

🔨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">
          add last line
        </button>
        <button onClick={deleteLine} type="button" >
          delete last line
        </button>
        <button onClick={deleteAll} type="button">
          delete all
        </button>
      </div>
      <EditTable
        editId={editId}
        onEdit={onEdit}
        columns={columns}
        dataSource={list}
        onChange={onChange}
      />
    </div>
  );
};

📖 Docs

github pages

国内地址(腾讯云部署) 作者自己维护的地址可能存在更新不及时的问题,请以 npm 版本为准

⚙ Options

git pages options

👊 power by

based on dumi v2

📊 LICENSE

MIT