Различия между valuegetter, valueparser и valueformatter - Ag-grid - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь понять, каков правильный вариант использования для ag-grid valuegetter vs valueformatter vs valueparser?

https://www.ag-grid.com/javascript-grid-value-getters/

https://www.ag-grid.com/javascript-grid-value-formatters/

https://www.ag-grid.com/javascript-grid-value-parsers/

1 Ответ

1 голос
/ 06 мая 2020

Получатель значения следует использовать, если вы хотите иметь собственный лог c при поиске данных для поля сетки ag.
Допустим, у вас есть 2 отдельных поля, отображающих имя и фамилию и вы хотите, чтобы производное поле отображало полное имя, вы должны использовать valueGetter для этого нового поля, чтобы объединить имя и фамилию
Согласно документам -

Получатель значения вызываемая функция, позволяющая извлекать значения буквально из любого места, включая выполнение любых выражений, которые вы sh по пути

Пример -

   {
    headerName: 'Name',
    colId: 'name',
    valueGetter: function(params) {
      return params.data.First_Name + " " + params.data.Second_Name;
    },
  },

Обратите внимание, что valueGetter вызывается вместо colDef.field, если у вас определен valueGetter

Форматировщик значений следует использовать, если вы хотите отформатировать данные для отображения. Это не повлияет на базовые данные.
Пример использования classi c - это когда вы хотите округлить числа для поля numeri c.

Пример:

{
    headerName: 'Price',
    colId: 'price',
    valueFormatter: function (params) {return params.value.toFixed(2) ;}
 },

Парсер значений следует использовать при редактировании ячеек. Это противоположность ValueFormatter, она позволяет форматировать данные перед установкой значения для ячейки.

Согласно документам -

После редактирования ячеек в сетке у вас есть возможность проанализировать значение перед вставкой его в ваши данные

Типичный вариант использования: если ваш номер отображается с запятыми, вам нужно проанализировать его, чтобы удалить запятые, когда вы его редактируете и устанавливаете данные в вашу строку.

Важные моменты, на которые следует обратить внимание
- На сегодняшний день фильтры столбцов в аг-сетке отключены colDef.field или valueGetter. Поэтому, если вы определяете valueFormatter для столбца, не ожидайте, что форматированные значения будут отображаться в фильтрах столбцов (для установленного фильтра). Использование valueGetter обеспечит соответствие фильтров столбцов отображаемым данным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...