【RaETable】🚀🚀🚀一些新功能让你的开发更流畅

简介: 【RaETable】🚀🚀🚀一些新功能让你的开发更流畅

raETablereactantd Easy Table 的缩写。旨在让开发者在react中使用 antdTable时更 easy。

Github: github.com/mmdctjj/raetable

npm: www.npmjs.com/package/raetable

文档:mmdctjj.github.io/raetable

🚀 新功能

🎉 支持颜色选择器组件

随着antd版本更新,RaETable进行了底层antd版本升级,^5.4.6 -> ^5.8.4,并且支持了颜色选择组件。

🎉 表格操作栏目功能更加灵活了

本次更新新增了操作栏目按钮的禁用和隐藏,同时新增按钮文本修改。

现在你可以通过判断表格每行的具体内容或者行数,设置按钮的样式和文本。

<ETable
  /** 其他属性 */
  extend={[
    {
      title: (row, idx) => idx % 2 === 0 ? '标记' : '标记2',
      disabled: (row, idx) => idx % 2 === 0,
      onClick,
      loading: (row, idx) => tagLoading,
    }
  ]}
  /** 其他属性 */
/>

🚀RaETable解决了啥问题

toB日常的开发中,我们通常要针对一个场景对应的一个或多个数据库表做对应的增删改查的功能。

而在新增或编辑、查询、展示时,对应的很多字段都是重复的。

下面是一个场景的简单开发示例:

// 筛选条件
const Condition = () => {
  const [form] = Form.useForm()
  return (
    <Form form={from}>
      <Form.Item name="name" label="name"><Input /></Form.Item>
      <Form.Item name="age" label="age"><Input /></Form.Item>
      <Form.Item name="admin" label="admin"><Input /></Form.Item>
      <!-- 略 -->
    </Form>
  )
}
// 列表展示
const TableList = () => {
  const columns = [
    { title: 'name', dataIndex: 'name', key: 'name' },
    { title: 'age', dataIndex: 'age', key: 'age' },
    { title: 'admin', dataIndex: 'admin', key: 'admin' },
    /** 略 */
  ]
  return (
    <Table columns={columns} dataSources={dataSources} />
  )
}
// 新增或者编辑
const Edit = () => {
  const [form] = Form.useForm()
  return (
    <Form form={from}>
      <Form.Item name="name" label="name"><Input /></Form.Item>
      <Form.Item name="age" label="age"><Input /></Form.Item>
      <Form.Item name="admin" label="admin"><Input /></Form.Item>
      <!-- 略 -->
    </Form>
  )
}
const App = () => {
  return (
    <>
        <Condition />
        <TableList />
        <Drawer>
            <Edit />
        </Drawer>
    </>
  )
}

上面的示例代码是一个很常见的功能,如果采用 RaETable ,那么代码量可能只需要三分之一。如下:

const App = () => {
  const columns = [
    { title: 'name', dataIndex: 'name', key: 'name', conditionType: 'Input', },
    { title: 'age', dataIndex: 'age', key: 'age', conditionType: 'Input', },
    { title: 'admin', dataIndex: 'admin', key: 'admin' },
    /** 略 */
  ]
  return (
    <ETable
      columns={columns}
      dataSources={dataSources}
      // 新增或者编辑之后的回调
      onAffairSuccess={onAffairSuccess}
      // 查询条件变化的回调
      onConditionChange={fetch}
    />
  )
}
相关文章
|
3月前
|
搜索推荐 安全 Android开发
如何优化安卓应用的用户体验
【2月更文挑战第9天】在当今移动互联网时代,安卓应用已成为人们日常生活中不可或缺的一部分。然而,用户对应用的使用体验越来越苛刻,一个不好的应用体验很容易导致用户的流失。本文将介绍如何从多个方面优化安卓应用的用户体验。
|
3月前
|
安全 Android开发 iOS开发
【经验分享】iPhone X 兼容及滚动优化
【经验分享】iPhone X 兼容及滚动优化
21 0
|
9月前
|
Web App开发 缓存 API
回顾2022:Web性能方面有哪些新功能
回顾2022:Web性能方面有哪些新功能
55 0
|
前端开发 NoSQL Java
在农业银行做开发是什么样的体验?
分享一位22届的学弟分享自己在入职农业银行-软件开发岗位2个月后的体验。 我是22届的学生一枚,秋招季选择了农业银行软件开发一职,现在入职大概2个月了,也就是九月份,趁着这段时间就聊聊这段时间的工作现状吧。
140 0
|
缓存 Serverless 对象存储
iOS开发体验优化方案
随着Flutter等跨端框架的出现,业务开发同学经常需要在Android/IOS上跨端进行业务开发,问题定位等。新的不熟悉的环境的搭建总会遇到各种各样的问题,导致搭建失败,特别是IOS开发环境,是最复杂的,不仅环境搭建繁琐,而且切分支后的打包速度很慢,所以我们设计实现了两个工具,用于优化闲鱼IOS开发体验。
3157 0
iOS开发体验优化方案
|
JSON Java 数据库连接
【关于开发工具的版本挑选问题】工具不是版本越新越好用,不要过于追求最新,好用性价比最高
【关于开发工具的版本挑选问题】工具不是版本越新越好用,不要过于追求最新,好用性价比最高
96 0
【关于开发工具的版本挑选问题】工具不是版本越新越好用,不要过于追求最新,好用性价比最高
|
安全 Android开发 iOS开发
iOS天生流畅?其实并非技术优势
在进入智能手机时代的十余年里,苹果手机一直是行业龙头,虽然安卓系统在全世界已经达到80%的市场占有率,但iOS依旧以其封闭、流畅等优势混得如鱼得水。
157 0
iOS天生流畅?其实并非技术优势
|
人工智能 数据可视化 物联网
HarmonyOS 2.0 手机开发者 Beta 版如期而至,带来“应用天生跨端”的全新开发体验
HarmonyOS 2.0 手机开发者 Beta 版如期而至,带来“应用天生跨端”的全新开发体验
HarmonyOS 2.0 手机开发者 Beta 版如期而至,带来“应用天生跨端”的全新开发体验
|
Dart Java Shell
Flutter多屏特性尝鲜
在三月份过去的flutter engage大会中,除了重量级的flutter 2,让flutter适配的机型遍布移动,桌面,web端外,还有支持现在各大厂商踊跃推出的折叠屏的[多屏适配特性](https://devblogs.microsoft.com/surface-duo/flutter-dual-screen-foldable/)。 这特性提出的原因是是微软的员工使用flutter给自家的
|
编解码 移动开发 视频直播
直播平台源代码开发,支持全终端观看及提高开屏流畅度很重要
相信大家对直播软件已经是很熟悉了,毕竟直播软件已成为当下人们重要的娱乐渠道
直播平台源代码开发,支持全终端观看及提高开屏流畅度很重要