【问题标题】:Material-ui Autocomplete filtered listMaterial-ui 自动完成过滤列表
【发布时间】:2020-12-17 13:07:21
【问题描述】:

我在输入时使用 material-ui 自动完成组件我需要向我建议的过滤列表,这些有什么事件吗?

【问题讨论】:

  • 让我更好地理解,您将一组值传递给自动完成,如果您在文本字段上键入,您想根据您编写的内容过滤该数组,对吗?

标签: reactjs material-ui


【解决方案1】:

你需要创建两个数组状态。

假设一个初始选项列表,例如

const initialList = [
  {
    name: "item1",
  },
  {
    name: "item2",
  },
  {
    name: "item3",
  },
  {
    name: "item4",
  },
  {
    name: "item5",
  },
  {
    name: "item6",
  },
  {
    name: "item7",
  },
];

然后,传递给 useState,

const [itemList, setItemList] = useState(initialList);
const [itemSelected, setItemSelected] = useState([]);

const handleChange = () => (event, value) => {
   setItemSelected(value);
}


<Autocomplete
            multiple
            id='items-outlined'
            value={itemSelected}
            options={itemList}
            getOptionLabel={(option) => option.name}
            getOptionSelected={(option, value) => option.name === value.name}
            onChange={handleChange()}
            filterSelectedOptions
            fullWidth
            renderInput={(params) => (
              <TextField
                {...params}
                variant='outlined'
                label='Items'
                placeholder='Select items...'
                fullWidth
                InputLabelProps={{ shrink: true }}
              />
            )}
          />

我在我的项目中使用它

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 2020-09-18
    相关资源
    最近更新 更多