自动完成设置默认值未显示



我需要有默认值在我的自动完成。我从数据库中获得选择选项,如下所示:

let films = await db.collection("films").find().toArray();

返回的数据如下:

[
0: { title: 'The Shawshank Redemption', year: 1994, isDefault: true },
1: { title: 'The Godfather', year: 1972, isDefault: false },
2: { title: 'The Godfather: Part II', year: 1974, isDefault: false },
3: { title: 'The Dark Knight', year: 2008, isDefault: false } 
length: 4
Prototype:....
]

我希望isDefault: true的自动完成显示了数据。我尝试了最简单的方法:

<Autocomplete
id="id"
options={films}
getOptionLabel={option => option.title}
defaultValue={films[0]} 
renderInput={params => (
<TextField {...params} variant="outlined" />
)}
/>

在文本域中仍然没有显示任何内容。

但是如果我硬编码这些选项:

let [films, setFilms] = useState[{
{ title: 'The Shawshank Redemption', year: 1994, isDefault: true },
{ title: 'The Godfather', year: 1972, isDefault: false },
...}];

的工作,自动完成显示默认值。

我不知道我的数据出了什么问题。什么好主意吗?

你应该试试setFilms(films[0]),应该可以的

Autocomplete缺少value

相关内容

  • 没有找到相关文章

最新更新