javascript - valuegetter、valueparser 和 valueformatter 的区别 - Ag-grid
问题描述
我试图了解 ag-grid 的 valuegetter vs valueformatter vs valueparser 的正确用例是什么?
https://www.ag-grid.com/javascript-grid-value-getters/
解决方案
如果您希望在为您的 ag 网格字段获取数据时拥有自定义逻辑,则应使用value getter 。
假设您有 2 个单独的字段显示名字和姓氏,并且您希望有一个派生字段来显示全名,您可以使用 avalueGetter
作为这个新字段来连接名字和姓氏
根据文档 -
Value Getter 是一个被调用的函数,允许从任何地方提取值,包括执行您希望的任何表达式
例子 -
{
headerName: 'Name',
colId: 'name',
valueGetter: function(params) {
return params.data.First_Name + " " + params.data.Second_Name;
},
},
请注意,valueGetter
如果colDef.field
您valueGetter
定义了
当您要格式化数据以进行显示时,应使用值格式化程序。这不会影响基础数据。
一个典型的用例是当您想要对数字字段进行四舍五入时。
例子 :
{
headerName: 'Price',
colId: 'price',
valueFormatter: function (params) {return params.value.toFixed(2) ;}
},
编辑单元格时应使用值解析器。它与 ValueFormatter 相反,它允许您在为单元格设置值之前格式化数据。
根据文档 -
在网格中编辑单元格后,您有机会在将值插入数据之前对其进行解析
一个典型的用例是,如果您的数字以逗号显示,您可能希望在编辑它并将数据设置到您的行时对其进行解析以删除逗号。
需要注意的重要事项
- 截至今天,ag-grid 中的列过滤器已关闭
colDef.field
或valueGetter
. 因此,如果您valueFormatter
为列定义,不要期望格式化值显示在列过滤器中(用于设置过滤器)。使用valueGetter
将确保列过滤器与显示的数据匹配。
推荐阅读
- spring-boot - 在具有多个连接的 Spring Boot Rest API 中公开自定义查询
- node.js - 有没有办法将最后的更改存储在实时数据库中?
- azure-devops - 您如何以编程方式提出条件 PR?
- stata - 了解do文件中的语法
- ios - 如何在 iOS 中使用 Core Bluetooth 获取蓝牙设备的唯一 ID
- node.js - 从 Docker 容器运行 npm install - ENOSYS:功能未实现,futime;ETC
- date - 如何使用 GSON 反序列化
> 对象 - asp.net - identityuser(CreateAsync, FindByNameAsync, etc.) 方法可以在现有的非身份用户数据库中使用吗?
- javascript - 是否可以在 map 函数的 return 语句中检查 DOM 元素的 NULL 吗?
- nginx - NGINX:将特定的 http URL 重定向到内部端口,其他所有内容都被提升到 https / 443