Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何动态自定义材质表中的动作图标?_Reactjs_Material Design_Material Table - Fatal编程技术网

Reactjs 如何动态自定义材质表中的动作图标?

Reactjs 如何动态自定义材质表中的动作图标?,reactjs,material-design,material-table,Reactjs,Material Design,Material Table,我有一组从中获得的图标,我想知道是否有一种方法可以有条件地呈现不同的图标?例如,我的API返回一个对象数组,其中有一个deleted属性,如果设置为false,我想呈现一个TrashIcon,如果设置为true,则呈现一个RestoreFromTrashIcon。我尝试在材质表上自定义操作属性,将图标设置为 actions={[ { icon: (h) =>console.log("h", h) || "edit", tooltip: "Edit", onCli

我有一组从中获得的图标,我想知道是否有一种方法可以有条件地呈现不同的图标?例如,我的API返回一个对象数组,其中有一个
deleted
属性,如果设置为
false
,我想呈现一个
TrashIcon
,如果设置为
true
,则呈现一个
RestoreFromTrashIcon
。我尝试在材质表上自定义
操作
属性,将图标设置为

actions={[
  {
    icon: (h) =>console.log("h", h) || "edit",
    tooltip: "Edit",
    onClick: (event, rowData) => alert("You are editing")
  }
]}
但这只是在现有的两个图标上添加了一个额外的图标。这也是
h
只是一个具有
禁用的
属性的对象


这里有哪些选项?

actions数组接受一个Action对象或一个包含rowData作为参数的函数,并返回一个Action对象。在您的情况下,它将是:

actions={[
  rowData => ({
    icon: rowData.deleted ? 'restore' : 'delete',
    tooltip: "Edit",
    onClick: (event, rowData) => alert("You are editing")
  })
]}
您可以在GitHub上查看文档,因为此示例未在文档页面中呈现: