基础react原生封装带checkbox的table组件

原生react封装带有复选框的table

由于需求,需要写一个原生的Table组件,本来是想参照一些源码,但是他们也都引用了其他组件,就没啥用了。封装的比较简单,但是基础的一些功能都有,因为table的种类也很繁杂,所以这只是其中一种。下图为样式,如果不合适你换别人的看看吧(嘻嘻嘻嘻嘻)

在这里插入图片描述
主要思想就是分成columns和data两部分,按需求对数组进行遍历

        <thead>
          <tr className={styles.column}>
            {columns.map((item) => (
              <th key={item.dataIndex}>{item.title}</th>
            ))}
          </tr>
        </thead>
        <tbody>
          {data.map((item) => (
            <tr key={item.key} className={styles.row}>
              <td>
                <input
                  type="checkbox"
                  onChange={e => checkItem(e, item)}
                  className={styles.checkbox}
                  disabled={item.disabled}
                />
              </td>
              {indexList.map((child, index) => (
                <td key={`${item.key}-${index}`}>{item[child]}</td>
              ))}
              <td>
                {columns.map((col) => (
                  col.render && col.render(item)
                ))}
              </td>
            </tr>
          ))}
        </tbody>

…end

链接: table组件

使用在src/pages/tablepage
组件在src/components/table

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值