首页 > 解决方案 > Material-UI 自动完成渲染值

问题描述

我有一个 ReactJs 应用程序,它使用具有多个值和复选框的 Material-UI 自动完成组件,完全像他们的代码片段:

<Autocomplete
      multiple
      id="checkboxes-tags-demo"
      options={top100Films}
      disableCloseOnSelect
      getOptionLabel={(option) => option.title}
      renderOption={(option, { selected }) => (
        <React.Fragment>
          <Checkbox
            icon={icon}
            checkedIcon={checkedIcon}
            style={{ marginRight: 8 }}
            checked={selected}
          />
          {option.title}
        </React.Fragment>
      )}
      style={{ width: 500 }}
      renderInput={(params) => (
        <TextField {...params} variant="outlined" label="Checkboxes" placeholder="Favorites" />
      )}
    />

检查值后,该值将呈现在带有“X”按钮的芯片中,如下所示: 在此处输入图像描述

如何更改props渲染的值将显示为“ Value A, Value B, "Value C”,它们之间有逗号并且没有其他样式?

感谢您的时间

标签: reactjsautocompletematerial-ui

解决方案


提供自动完成RenderTags道具:

签名:

function(value: T[], getTagProps: function) => ReactNode
value:提供给组件的值。
getTagProps:一个标签道具获取器。

在你的情况下:

renderTags={(values) => 
  values
  .map(value => value.title)
  .join(', ')
}

推荐阅读