我们如何从Flutter中的下拉搜索包中获取当前选定的项目



我正在使用这个包https://pub.dev/packages/dropdown_search

我在我制作的表单中有一个下拉列表,当用户选择一个项目时,我想获得所选内容的值,并将其分配给一个变量。我读过一些文档,但很难理解它们的价值。据我所知,SelectedItem属性只是设置一个起始选择。如何从下拉列表中获取所选项目?

DropdownSearch<String>(
mode: Mode.MENU,
showSearchBox: false,
showSelectedItems: true,
items: const [
'Item 1',
'Item 2',
'Item 3',
],
dropdownSearchDecoration: InputDecoration(
labelText: 'Items',
),
),

在我上面的代码中,我不明白我应该如何获得所选项目,我正在将所选项目上传到Firestore。

我为您添加了一个示例,请检查

DropdownSearch<String>(
mode: Mode.MENU,
showSearchBox: false,
showSelectedItems: true,
items: const [
'Item 1',
'Item 2',
'Item 3',
],
dropdownSearchDecoration: InputDecoration(
labelText: 'Items',
),
onChanged: (String selectedValue) {
yourVariable = selectedValue; // you should change this line according to your own
},
),

DropDownSearch有一个onChanged属性。您可以使用它来获取所选项目。例如:

DropdownSearch<UserModel>(
label: "Name",
onFind: (String filter) => getData(filter),
itemAsString: (UserModel u) => u.userAsStringById(),
onChanged: (UserModel data) {     <----- THIS ONE
//Do something with this data
},
)

最新更新