交互与前端13 Tabulator 表格实践

本文讲述了作者在前端开发中使用Tabulator表格的实践经验,反思了过于追求抽象和通用化的错误,提出实际出发,简化流程。通过实例介绍了如何高效构建前端页面,包括页面元素、数据加载、增删改查功能,并提出了将需求面缩小,减少所需页面的策略。此外,还讨论了交互编辑表和数据速览表的概念,并规划了不同类型的交互编辑表。
摘要由CSDN通过智能技术生成

说明

虽然还是没有太多时间花在前端上,不过已经开始走上轨道,时不时做一些小东西了。

有的时候我太过追求抽象化,通用化,在这个阶段是不太对的。做模型也好,搞架构也好,一方面是我搞的时间够多,另一方面是因为他们的本质的确是需要抽象的。

在前端,尤其是刚开始没搞多久的时候,我觉得做起来更重要。在完成了功能之后,可以「顿一顿」,做一些小总结。

内容

1 反思错误

一开始,我犯了急于求成的错误,再次反省一下…

具体的错误是我希望在部署交互式表格时可以一次性的面对所有的数据表。这些数据表属于不同的数据库,用于不同的业务,并且分布在不同的主机上…有点飘了。

实施的时候我发现有一些问题,例如每个表格的列是不同的,怎么控制要展示哪些呢? 有些列要允许编辑,有些列又不允许,怎么控制呢?反正越想越多,方法虽然有,但是都不是一时半会能搞好的。

搞不好,难道我从头研究前端吗?毕竟我还有很多重要的事去做。所以就陷入了不进不退的状态。

2 实际一点

其实在这次之前,我是在单个页面上完成了增删改查的全部功能的

所以今早突然觉得没必要贪多,先干一些实在的,把流程摸熟了再说,然后真觉得小处是可以见大的,该笨的时候还是得笨,不要老想着做大聪明。

小需求:将不同数据库服务的信息进行记录,以便

以下是在 Django 框架下使用 Tabulator 绘制表格的代码示例: 1. 在前端 HTML 文件中引入 Tabulator 和 jQuery 库: ```html <html> <head> <link href="https://cdnjs.cloudflare.com/ajax/libs/tabulator/4.9.3/css/tabulator.min.css" rel="stylesheet"> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/tabulator/4.9.3/js/tabulator.min.js"></script> </head> <body> <div id="table-container"></div> </body> </html> ``` 2. 在前端 JavaScript 文件中编写绘制表格的代码: ```javascript var table = new Tabulator("#table-container", { ajaxURL: "/api/data", // 后端 API 接口地址 layout: "fitColumns", // 自适应表格宽度 pagination: "remote", // 开启分页,使用后端分页 paginationSize: 10, // 每页显示的记录数 columns: [ { title: "ID", field: "id" }, { title: "姓名", field: "name" }, { title: "年龄", field: "age" }, ], }); ``` 3. 在后端 Django 应用中编写 API 接口代码: ```python from django.http import JsonResponse from myapp.models import MyModel def data_api(request): page = request.GET.get("page", 1) size = request.GET.get("size", 10) start = (page - 1) * size end = start + size data = MyModel.objects.all()[start:end].values("id", "name", "age") count = MyModel.objects.count() return JsonResponse({"data": list(data), "count": count}) ``` 其中,`MyModel` 是你的数据模型,需要根据你的实际情况进行修改。在 API 接口中,我们使用了 `page` 和 `size` 参数来进行分页,`start` 和 `end` 变量用于计算当前页需要显示的记录范围,`count` 变量用于返回总记录数。最后,我们将数据以 JSON 格式返回给前端。 4. 将 API 接口注册到 Django 路由中: ```python from django.urls import path from myapp.views import data_api urlpatterns = [ path("api/data", data_api), ] ``` 完成以上步骤后,你就可以在前端页面中看到使用 Tabulator 绘制的表格,并且可以进行分页和数据排序等操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值