reactjs - 选择未被调用的 renderValue 函数 [ReactJS/Material-UI]

标签 reactjs material-ui material-table

我在 Material 表 ( a module which I installed ) 中有一个选择功能。我也在使用 Material-UI 中的 Chips 组件。但是,在这个函数中,我已经尝试解决为什么当我选择某些东西时没有出现,而且似乎我的 renderValue 函数没有被调用。

代码如下:

function handleChange(event) {
    console.log("!")
    setRoleIds(event.target.value);
  }

  const renderChip = (value) => {
    console.log("?!??!?");
    console.log(value);
    return <Chip label={value} className={classes.chip} />;
  };

  const [cassowaries, setCassowaries] = React.useState({
    columns: [
      { title: "Cassowary Name", field: "name" },
      {
        title: "Cassowary Roles",
        field: "roles",
        render: (rowData) => {
          return (
            <li>
              {rowData.roles.map((role) => (
                <Chip label={role} className={classes.chip} />
              ))}
            </li>
          );
        },
        editComponent: (props) => (
          <FormControl className={classes.formControl}>
            <InputLabel>Roles</InputLabel>
            <Select
              multiple
              value={roleIds}
              onChange={handleChange}
              input={<Input id="select-multiple-chip" />}
              renderValue={renderChip}
              // MenuProps={MenuProps}
            >
              {allRoleIds.map((id) => (
                <MenuItem key={id} value={id}>
                  {id}
                </MenuItem>
              ))}
            </Select>
          </FormControl>
        ),
      },
      { title: "Penguin", field: "penguin" },
    ],
    data: [{ name: "Mehmet", roles: roleIds, penguin: true }],
  });

有人可以帮助或指导我吗?

最佳答案

确保您设置了以下属性:


<Select
native={false}
displayEmpty={true}
...
</Select>

您必须设置 displayEmpty={true} 以使其在值为空时呈现,并且 native={false} 因为 renderValue() 根据 docs 仅适用于非 native 选择.

关于reactjs - 选择未被调用的 renderValue 函数 [ReactJS/Material-UI],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61950849/

相关文章:

javascript - React-testing-library:在组件的上下文中找不到 "store"

javascript - 三元按钮内的运算符并调用函数

reactjs - 如何将振幅分析与 React 应用程序集成?

reactjs - React/Redux 应用程序中的硬编码字符串/静态内容

reactjs - 使用 Material UI 自动完成和 React Hook 表单进行错误验证

javascript - 如何访问 withStyle 组件内的 DOM 节点?

javascript - 当数据进入material表时如何调用UseEffect?

javascript - 为什么选择的选项隐藏在 react 中?

reactjs - 带有 typescript 的 react Material 表显示通用类型错误

html - 根据条件删除 detailPanel 导致填充