前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >京东开源出品:轻量、强大的【列表可视化搭建】解决方案!

京东开源出品:轻量、强大的【列表可视化搭建】解决方案!

作者头像
程序员老鱼
发布于 2024-07-25 03:29:59
发布于 2024-07-25 03:29:59
30300
代码可运行
举报
文章被收录于专栏:前端实验室前端实验室
运行总次数:0
代码可运行

大家注意:因为微信最近又改了推送机制,经常有小伙伴说错过了之前被删的文章,或者一些限时福利,错过了就是错过了。所以建议大家加个星标,就能第一时间收到推送。

大家好,我是「前端实验室」爱分享的了不起~

列表布局需求是我们日常开发中经常遇到的问题。今天给大家分享一款京东开源的、高效的企业级表格可视化搭建解决方案:DripTable

简介

DripTable,是由京东零售iPaaS前端研发团队推出的一种通过LowCode方式搭建web列表的技术方案。

这款轻量简单的企业级中后台动态列表生成解决方案,基于 React 和 JSON Schema,旨在通过简单配置快速生成页面动态列表来。

可视化搭建列表,降低列表开发难度、提高工作效率、节约开发人力和资源。

DripTable分为两个部分:

  • drip-table:动态列表解决方案的核心库,其主要能力是支持符合 JSON Schema 标准的数据自动渲染列表内容。
  • drip-table-generator:一个可视化的用于 DripTable 配置 JSON Schema 标准的配置数据的生成工具。

虽然是两个部分,但它们是相辅相成的。根据上面的介绍,一个是渲染数据,另一个是可视化配置的。下面我们举两个例子来看下。

drip-table安装和使用

先来看drip-table,这是用来渲染数据到列表中的。

首先注意下环境要求

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Node >= 10.14.0
React >= 16.9.0
安装

安装前,确保drip-table所依赖React已经安装完毕。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install --save drip-table
基本使用

先引入相关的依赖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import React from 'react';
import DripTable from 'drip-table';
import 'drip-table/dist/index.min.css';

接着就可以创建组件实例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export default Demo = () => {
  return (
    <DripTable
      schema={schema}
      dataSource={dataSource}
    />
  );
};

这里的重点是schema--它用来约束了表格的结构定义。我们来看个例子。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const schema = {
  size: "middle",
  pagination: {
    pageSize: 10,
    position: "bottomRight",
  },
  columns: [
    {
      key: "mock_1",
      title: "商品名称",
      dataIndex: "name",
      component: "text",
      options: {
        mode: "single",
        maxRow: 1,
      },
    },
    {
      key: "mock_2",
      title: "商品详情",
      align: "center",
      dataIndex: "description",
      component: "text",
      options: {
        mode: "single",
        ellipsis: true,
        maxRow: 1,
      },
    },
    {
      key: "mock_3",
      title: "库存状态",
      dataIndex: "status",
      description: "这是一条提示信息",
      component: "text",
      options: {
        mode: "single",
        i18n: {
          onSale: '售卖中',
          soldOut: '已售罄',
        },
      },
    },
    {
      key: "mock_4",
      title: "商品价格",
      width: 80,
      dataIndex: "price",
      component: "text",
      options: {
        mode: "single",
        prefix: "¥",
      },
    },
    {
      key: "mock_5",
      title: "操作",
      width: 118,
      dataIndex: "operate",
      component: "link",
      options: {
        mode: "multiple",
        operates: [
          { name: "order", label: "预定", href: "./#order", target: "_blank" },
          { name: "view", label: "查看", href: "./#view" },
          { name: "remove", label: "删除", href: "./#remove" },
        ],
      },
    },
  ],
};

// 这是表格的数据
const dataSource = [
  {
    id: 1,
    name: "商品一",
    description:
      "商品是为了出售而生产的劳动成果,是人类社会生产力发展到一定历史阶段的产物,是用于交换的劳动产品。",
    status: "onSale",
    price: 7999,
  },

看下效果

这部分的内容和antd、elementui中的表格很像,大家理解起来应该没难度。

drip-table-generator安装和使用

好啦!接下来说说drip-table-generator。根据名称,我们知道这是drip-table的生成器--可视化和 low-code 方式进行 JSON Schema 标准数据的生成

drip-tableschema太复杂,我们可能记不住这么多。那怎么办?drip-table-generator能搞定!

安装依赖

drip-table-generator 依赖 antddrip-tablereact,单独使用不要忘记安装~

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn add drip-table-generator
使用

先依赖引入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import DripTableGenerator from 'drip-table-generator';
import 'drip-table-generator/dist/index.min.css';

接着,页面引入生成器即可

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<DripTableGenerator />

然后就得到这个页面

点击就可以配置列表了。

可视化选项,要什么选什么。选好了,点击配置编辑,就能看到JSON schema是什么样的了。然后,ctrl + cctrl + v就可以使用啦!

DripTable优势和使用场景

优势
  • 高效开发:提高前端列表开发效率,实现 Lowcode 方式快速开发列表页
  • 配置化渲染:以简单的 JSON Schema 配置字段,自动渲染处所需要的列表,降低用户使用成本。
  • 动态可扩展:支持自定义组件开发,通过API快速生成自定义的或者实现业务功能的单元格组件。
  • 界面框架自由:表格界面框架支持多种主题包,另外还支持自定义主题包。

使用场景

但凡涉及到列表需求的都可以用它。

列表页的快速搭建,可以通过简单 JSON Schema 数据即可生成,无需硬编码。

用于 Lowcode 列表搭建的前端 Table 预览以及实现,无需复杂前端代码,便可实现自定义的列表

当然,这里也只是入门介绍了DripTable的使用。更多详情,大家可以参阅官方文档。

源码地址:https://github.com/JDFED/drip-table 官网地址:http://drip-table.jd.com

最后

欢迎加入前端实验室读者交流群,分享交流优秀的技术和资料。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
京东又开源一款新框架,用起来真优雅!
DripTable 是京东零售推出的一款用于企业级中后台的动态列表解决方案,项目基于 React 和 JSON Schema,旨在通过简单配置快速生成页面动态列表来降低列表开发难度、提高工作效率。
搜云库技术团队
2023/08/08
2200
京东又开源一款新框架,用起来真优雅!
京东开源一框架,用起来贼方便!
DripTable 是一款用于企业级中后台的动态列表解决方案,基于 React 和 JSON Schema。DripTable 包含子项目:drip-table、drip-table-generator。
永恒君
2023/09/02
4150
京东开源一框架,用起来贼方便!
低代码引擎实战 - 从零封装低代码组件
构造页面时需要给其他组件一个容器来包裹,先用 vant 的 Card 组件来封装我们的容器组件 Container。
PHP开发工程师
2022/05/23
1.1K0
低代码引擎实战 - 从零封装低代码组件
建议收藏!10个前端低代码开源项目
低代码是基于可视化和模型驱动理念,结合云原生与多端体验技术,可以通过简单的拖拽、配置,即可完成业务应用的搭建。
程序员老鱼
2023/08/10
2.3K0
建议收藏!10个前端低代码开源项目
Low code 之从零搭建一个h5可视化平台
小白今年工作时间有一半都花在low code上面,且无论是b端or c端都有一些接触。接下来谈一下我对low code在业务和开发上带来的感受。
玖柒的小窝
2021/10/06
2.4K0
Low code 之从零搭建一个h5可视化平台
推荐20个开源的前端低代码项目
来源:低代码一哥本文约2500字,建议阅读9分钟本文分享几个值得学习和使用的前端低代码开源项目,更深入地了解什么是低代码。 近几年,在技术领域低代码是比较热门的话题,比如阿里云推出了钉钉低代码,通过简单的拖拽、配置,即可完成业务应用的搭建,腾讯云则是推出了微搭,通过行业化模板、拖放式组件和可视化配置快速构建多端应用。 低代码是基于可视化和模型驱动理念,结合云原生与多端体验技术,它能够在多数业务场景下实现大幅度的提效降本,为专业开发者提供了一种全新的高生产力开发范式。下面就来分享几个值得学习和使用的前端低代码
数据派THU
2023/03/29
4.8K0
推荐20个开源的前端低代码项目
可视化搭建移动端店铺解决方案
经过许久的深思熟虑与探索,同时也借鉴了行业内不错的产品(如:有赞,H5-Dooring等),但跟列举的产品还是有区别的(先卖个关子,后面再讲有哪些区别)。其实这种功能在零售系统(目前我所在公司是零售行业的领头羊)和电商系统应该很常见,很多应用场景都会用到,像产品营销页面、企业/个人微官网、H5活动页面等移动端页面,通过可视化配置快速搭建H5页面,且提供丰富的页面组件,更方便的为使用者搭建更强大的H5页面。
zz_jesse
2021/07/12
1.4K0
Node+Puppeteer+可视化配置海报业务尝试
在推广业务中,常常会遇到合成带二维码海报分享功能,并且为了推广力度,需要同时在APP、WEB、小程序都有此功能加大曝光,各端都需要单独编写,复用能力差,效率低。本身合成海报业务并无难度,在此背景下为了提高效率开发了lumu-poster海报合成工具(技术栈:nestjs + react + mysql)
gary12138
2022/10/05
1.5K0
Node+Puppeteer+可视化配置海报业务尝试
必须知道的几款优秀可视化表单、流程开源设计器
 随着互联网的快速发展,越来越多的云建站平台快速崛起,不可避免的就是自定义可视化设计,如何不通过开发就能够简单快速的搭出一个可用的页面就成了大家头痛的问题,但是从零开始开发设计一套可视化设计功能并不是一个简单的事情,还好有很多开源的可视化设计项目/组件可以供我们使用,今天我们就来看看这些开源可视化设计项目。
main方法
2020/12/07
11.7K0
必须知道的几款优秀可视化表单、流程开源设计器
一个高扩展、可视化低代码前端,详实、完整,你不来看看?
RxEditor是一款开源企业级可视化低代码前端,目标是可以编辑所有 HTML 基础的组件。比如支持 React、VUE、小程序等,目前仅实现了 React 版。
小冷coding
2023/05/24
1.8K0
一个高扩展、可视化低代码前端,详实、完整,你不来看看?
页面可视化搭建工具前生今世
页面可视化搭建, 是一个历久弥新的话题. 更广义上讲, 页面是 GUI 的一部分, GUI 的拖拉生成在各种开发工具上很常见, 如 Android Studio, Xcode, Visual Studio 等. 前端页面早在十几年前就能用 Dreamweaver, Frontpage 等工具可视化搭建出来.
coder_koala
2022/03/24
9230
页面可视化搭建工具前生今世
如何设计实现H5营销页面搭建系统
背景 近几年,low code、no code、pro code等越来越多的出现在我们的视野中。抱着不被卷的心态 ?,我决定来深入探索一下。 “我所在的是营销部门。每天/月都承载着大量的营销活动,本文
前端森林
2021/07/22
1.4K0
前端 mock 完美解决方案实战
写在前面,本文阅读需要一定Nodejs的相关知识,因为会扩展webpack的相关功能,并且实现需要遵守一定约定和Ajax封装。
coder_koala
2020/12/17
2.3K0
整理了12款开源拖拽库, 轻松上手可视化搭建
可视化导航地址:http://wep.turntip.cn/web?id=d1717408910631&uid=wep_251711700015023
徐小夕
2024/06/06
2.6K0
整理了12款开源拖拽库, 轻松上手可视化搭建
牛逼!大厂都在用的一款表单解决方案
前端开发中表单渲染是最为常见的工作,选择一款好的表单渲染插件就能大大地提升开发效率,今天就给大家介绍一款由飞猪团队退出的表单渲染器——FormRender
程序员老鱼
2023/09/20
8340
牛逼!大厂都在用的一款表单解决方案
前端推荐!阿里高性能表单解决方案——Formily
加强自身学习,提高自身素质。积累工作经验,改进工作方法,向周围同志学习,注重别人优点,学习他们处理问题的方法,查找不足,提高自己。
徐小夕
2021/12/21
4.3K0
前端推荐!阿里高性能表单解决方案——Formily
从零设计可视化大屏搭建引擎
几个月前我写了一篇关于从零开发一款可视化大屏制作平台 的文章, 简单概述了一下可视化大屏搭建平台的一些设计思路和效果演示, 这篇文章我会就 如何设计可视化大屏搭建引擎 这一主题, 详细介绍一下实现原理。
徐小夕
2022/02/09
1.4K0
从零设计可视化大屏搭建引擎
如何设计可视化搭建平台的组件商店?
之前一直在做 lowcode 和可视化相关的项目,也围绕可视化技术输出了一系列技术文章,今天我继续和大家来聊聊可视化平台相关的话题——组件商店。这个需求其实很早在我开源 H5-Dooring 之后就有网友提出过 issue ,如下:
徐小夕
2022/02/09
1.1K0
如何设计可视化搭建平台的组件商店?
前端10大开源拖拽排序库汇总, 让搭建,更简单
一款强大且兼容性极好的拖拽排序库, 兼容「IE7+」, 并且支持 「vanilla JavaScript / Angular / React」等框架.
徐小夕
2022/04/06
6.4K0
前端10大开源拖拽排序库汇总, 让搭建,更简单
可视化搭建平台的地图组件和日历组件方案选型
可视化搭建平台除了需要为用户提供简单便捷的操作方式之外, 还需要提供丰富的组件支持和组件扩展, 这样才能满足更多用户的业务需求.
徐小夕
2021/01/06
1.8K0
推荐阅读
相关推荐
京东又开源一款新框架,用起来真优雅!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验