问题描述
我在Flutter应用程序中构建了一个漂亮的DropdownButton,但是很难找到如何实际使用它的地方。
如何提取所选值?
我想用它来更新搜索栏的设置。当用户选择“ 1”时,搜索栏应在我的sqlite数据库中搜索特定列,当用户选择“ 2”时,应搜索其他列。提取值后,最好将我的if / else语句放在搜索栏上方或代码的告诉如何搜索数据库的部分中?
解决方法
尝试一下:
search_page.dart
class SearchingPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MyBeautifulDropdownPage(
myIfElseFunction: (value) {
print('selected value is $value');
if(value =='1'){
_searchASpecificColumnInMySqliteDb();
}else if (value == '2'){
_searchTheOtherColumnInMySqliteDb();
}
},);
}
}
my_beautiful_dropdown.dart
class MyBeautifulDropdownPage extends StatelessWidget {
final Function(String) myIfElseFunction;
const MyBeautifulDropdownPage({Key key,this.myIfElseFunction}) : super(key: key);
@override
Widget build(BuildContext context) {
return new DropdownButton<String>(
items: <String>['1','2'].map((String value) {
return new DropdownMenuItem<String>(
value: value,child: new Text(value),);
}).toList(),onChanged: myIfElseFunction
),}
}
在下拉菜单中,您可以使用onChanged
属性获取所选列的值。您可以在其中放置if语句