首页 > 其他分享 >如何正确使用表格组件的formatter属性

如何正确使用表格组件的formatter属性

时间:2023-05-18 13:11:29浏览次数:53  
标签:status 表格 渲染 api 组件 Table formatter 属性

fastadmin前端表格组件使用的是bootstrap-table,如果我们想要自定义表格的内容,可以使用formatter属性。最常规的用法如下:

columns: [
    [
                       
        {
           field: 'type', title: __('type'), 
           formatter: function (value,row) {
              if (value === 0) return '普通存储';
              if (value === 1) return '低频存储';
           }
        },
        {
           field: 'url', title: __('url'), 
           formatter: function (value,row) {
              return '<a href="' + value + '">' + row.name + '</a>';
           }
        }
    ]
]

简单来说formatter可以定义为一个function返回一段html代码,而这个function的第一个参数为当前字段值,第二个参数为一整行数据。

fastadmin为了方便大家快速开发,封装了一些常见的formatter供大家直接使用,如:

> `Table.api.formatter.icon` 快速将字段渲染成一个按钮,仅支持Fontawesome按钮
> `Table.api.formatter.image` 快速将字段渲染成图片展示的形式
> `Table.api.formatter.images` 快速将字段渲染成多图片展示的形式,字段数据请以`,`进行分隔
> `Table.api.formatter.status` 快速将字段渲染成状态,默认`normal/hidden/deleted/locked`这四个状态
> `Table.api.formatter.url` 快速将字段渲染成URL框
> `Table.api.formatter.search` 快速将字段渲染成可搜索的链接,点击后将执行搜索
> `Table.api.formatter.addtabs` 快速将字段渲染成可添加到选项卡的链接,点击后将把链接添加到选项卡
> `Table.api.formatter.flag` 快速将字段渲染成标志,仅支持`index/hot/recommend/new`这四种标志
> `Table.api.formatter.label` 快速将字段渲染Label标签
> `Table.api.formatter.datetime` 快速时间戳数据渲染成日期时间数据
> `Table.api.formatter.operate` 操作栏固定按钮
> `Table.api.formatter.buttons` 快速生成多个按钮
> `Table.api.formatter.toggle` 快速生成切换按钮

使用方法为:

field: 'status', title: __('status'), formatter: Table.api.formatter.status

但是我们在使用过程中经常遇到一个问题,比如status字段,我们数据库存的是0和1,或者normal,hidden等,使用Table.api.formatter.status 渲染时,如何将字段值转为中文?如何设置使用的颜色?

其实karson为我们提供了一些属性可以配置,只不过官方文档中并没有说明有哪些属性可以配置,导致一些新人不知所措。

我写这个帖子的目的就是帮助大家解除这个疑惑。

俗话说授之以鱼不如授之以渔。

本帖并不打算直接将可配置的属性列举出来,而是教大家如何通过源码去找到自己想要的属性配置。

首先,你要知道封装formatter的代码在 public/assets/js/require-table.js 大约372行的位置:

以status为例,假设现在有个表格,status字段的值为0和1,分别代表“启用”和“禁用”。

现在我需要做两件事:

  1. 将0和1分别显示为“禁用”和“启用”
  2. 启用使用绿色图标,禁用使用红色图标

为了知道该如何配置,我查看了源码:

请看上图源码中,红框中的代码,你会发现颜色是使用custom属性来配置的,并且该属性默认是{normal: 'success', hidden: 'gray', deleted: 'danger', locked: 'info'}

而我的status字段值是0或者1,因此我们需要配置custom属性为:custom: {0: 'success', 1: 'error'}

那么文字怎么转换为中文呢?可以看到Table.api.formatter.status其实最后调用了Table.api.formatter.normal,于是我们再查看normal的代码:

注意看上图红框中的代码,你会发现原来文字显示是可以通过searchList属性来配置的。

所以我们需要配置searchList属性为:searchList: {1: '启用', 0: '禁用'}

最终代码为:

{
   field: 'status', 
   title: __('status'), 
   operate: false, 
   formatter: Table.api.formatter.status,
   custom: {0: 'success', 1: 'error'},
   searchList: {0: '启用', 1: '禁用'}
}

效果为:

这里是以status为例,其他的formatter也是一样的,大家阅读一下源码就知道该怎么用了。

标签:status,表格,渲染,api,组件,Table,formatter,属性
From: https://www.cnblogs.com/libras/p/17411608.html

相关文章

  • 一张图解析FastAdmin中的表格列表的功能
    功能描述请根据图片上的数字索引查看对应功能说明。1.菜单名称和描述默认生成的CRUD是没有菜单名称和描述显示的,如果需要显示则可以修改权限管理->菜单规则,给对应菜单的添加上备注信息后即可显示,支持HTML2.TAB过滤选项卡在一键生成CRUD时,如果表中存在status字段且为ENUM类型,则......
  • 常用的表格检测识别方法-表格区域检测方法(上)
    ​ 常用的表格检测识别方法 表格检测识别一般分为三个子任务:表格区域检测、表格结构识别和表格内容识别。本章将围绕这三个表格识别子任务,从传统方法、深度学习方法等方面,综述该领域国内国外的发展历史和最新进展,并提供几个先进的模型方法。 3.1表格区域检测方法 表......
  • java读取excel表格(含有多个sheet)
    publicList<List<List<String>>>uploadExcel(StringfilePath)throwsFileNotFoundException{//两种方式,一种直接上传的文件MultipartFile,一种用本地的文件:FileFilefile2=newFile(filePath);InputStreaminputStream=newFileInputStrea......
  • 创建联系表单很容易!响应式UI组件库Kendo UI for Vue轻松搞定
    KendoUI致力于新的开发,来满足不断变化的需求。KendoUIforVue使用旨在提高性能和丰富用户体验的Vue组件,帮助开发人员构建下一代应用程序。它是为Vue技术框架提供可用的KendoUI组件,以便更快地构建更好的Vue应用程序。联系表单用于在网站上发送和接收用户信息的表单。EmailJS是......
  • 六、Flume 组件安装配置
    解压:tar-zxvfapache-flume-1.7.0-bin.tar.gz重命名:mvapache-flume-1.7.0-bin/flume配置环境变量:vi/etc/profileexportFLUME_HOME=/usr/local/src/flumeexportPATH=$PATH:$FLUME_HOME/bin刷新环境变量:source/etc/profile切换目录:cd/usr/local/src/flume/conf......
  • 依赖注入 (DI) 是.NET中一个非常重要的软件设计模式,它可以帮助我们更好地管理和组织组
    依赖注入(DI)是.NET中一个非常重要的软件设计模式,它可以帮助我们更好地管理和组织组件,提高代码的可读性,扩展性和可测试性。在日常工作中,我们一定遇见过这些问题或者疑惑。Singleton服务为什么不能依赖Scoped服务?多个构造函数的选择机制?源码是如何识别循环依赖的?虽然我们可......
  • drf-序列化组件
    目录作业讲解1Request类源码分析1.1总结的知识点1.2源码分析1.2APIView+Response写个接口2序列化组件介绍3序列化类的基本使用3.1查询所有和查询单条4常用字段类和参数(了解)4.1常用字段类4.2字段参数(校验数据来用的)5反序列化之校验6反序列化之保存75个接口代码路由......
  • drf——Request源码分析、序列化组件、序列化类的使用(字段类和参数)、反序列化校验和
    1.Request类源码分析#APIView+Response写个接口#总结: 1.新的request有个data属性,以后只要是在请求body体中的数据,无论什么编码格式,无论什么请求方式2.取文件还是从:request.FILES3.取其他属性,跟之前完全一样request.method.... 原理:新的request重写了__g......
  • React.FC中父组件调用子组件方法
    https://blog.csdn.net/qq_36990322/article/details/1098588901.函数式和hooks写法其实下面的缺点基本不算缺点了,因为函数式写法,下面算是简单的了。使用forwardRef只会让你的组件定义的更复杂优点:1、写法简单易懂2、假如子组件嵌套了HOC,也可以指向真实子组件缺点:1、需要自定......
  • nvidia显卡驱动和nvidia-cuda-toolkit组件的区别
    nvidia-cuda-toolkit和NVIDIA显卡驱动是两个不同的组件,它们在使用NVIDIAGPU进行计算和图形处理时发挥不同的作用。NVIDIA显卡驱动:NVIDIA显卡驱动是安装在计算机上的软件,它与NVIDIA的图形处理器(GPU)通信,控制GPU的功能和性能,并将计算机的图形输出显示在显示器上。驱动程序允许操......