渲染一个带有彩色椭圆且其中包含文本/图标的 DataGrid 单元格

use*_*820 7 html reactjs material-ui

我需要您有关 mui/x-data-grid 的帮助。我试图根据文本值在 mui/x-data-grid 中渲染一个带有文本/图标的单元格,但无法这样做。以下是codesandbox链接: codesandbox链接

我想要类似的东西

所需输出示例

Nea*_*arl 7

您可以在 MUI 中使用该Chip组件,而不是推出自己的组件,要使其看起来像屏幕截图中的那样,请将其设置variantoutlined。下面是一个例子:

function getChipProps(params: GridRenderCellParams): ChipProps {
  if (params.value === "RED") {
    return {
      icon: <WarningIcon style={{ fill: red[500] }} />,
      label: params.value,
      style: {
        borderColor: red[500]
      }
    };
  } else {
    return {
      icon: <CheckCircleIcon style={{ fill: blue[500] }} />,
      label: params.value,
      style: {
        borderColor: blue[500]
      }
    };
  }
}


const columns: GridColDef[] = [
  {...},
  {
    field: "status",
    headerName: "Status",
    renderCell: (params) => {
      return <Chip variant="outlined" {...getChipProps(params)} />;
    }
  }
];
Run Code Online (Sandbox Code Playgroud)

现场演示

Codesandbox 演示

  • 非常感谢您的回复。您的解决方案正是我所需要的。你让我今天一整天都感觉很好。再次感谢。 (2认同)