AG-Grid Concat字段

AG-Grid Concat fields

我正在尝试在 AG 网格中连接多个字段。这是有效的,但是当字段为空时,网格显示未定义。

请参阅下面的代码。我有一个网格,其中包含学生的名字、中间名和姓氏。但是,当中间名为空时,连接值的 'Student' 字段将中间名显示为未定义。

this.state = {
      modules: AllCommunityModules,
      columnDefs: [
        {
          field:"FirstName",
          headerName: "FirstName",
        },

        {
          field: "MiddleName",
          header: "MiddleName",
        },

        {
          field: "LastName",
          header: "LastName",
        },

        {
          field: "Student",
          header: "Student",
          valueGetter: studentValueGetter,
        },

function studentValueGetter(params) {
  return params.data.FirstName + params.data.MiddleName + params.data.LastName;
}
A header Another header A header Another header
John Pete Smith JohnPeteSmith
Sarah Jane SarahunderfinedJane

只需在中间名上添加条件:

return params.data.FirstName + ' ' +
  (params.data.MiddleName ? params.data.MiddleName + ' ' : '') +
  params.data.LastName;

或者用更高级的语法做同样的事情:

const { FirstName, MiddleName, LastName } = params.data;
return [FirstName, MiddleName, LastName].filter(n => !!n).join(' ');

虽然不是农业网格特定的东西;这通常是 JavaScript。