gpt4 book ai didi

sqlite - 用flutter中的sqlite数据库中的数据填充下拉菜单

转载 作者:行者123 更新时间:2023-12-03 04:42:15 25 4
gpt4 key购买 nike

我正在使用列表应用程序,并且想在下拉菜单按钮中加载主页的任务类别。
我已经使用SQflite将类别保存在表中。
当我点击下拉菜单时,这些值似乎未加载到菜单上。这只是一个空 list 。
这是代码:

class _HomeState extends State<Home> {

TodoService _todoService;
var _selectedValue;

var _categories = List<DropdownMenuItem>();

List<Todo>_todoList=List<Todo>();
final GlobalKey<ScaffoldState> _globalKey=GlobalKey<ScaffoldState>();

@override
initState(){
super.initState();
getAllTodos();
}
_loadCategories() async {
var _categoryService = CategoryService();
var categories = await _categoryService.readCategory();
categories.forEach((category) {
setState(() {
_categories.add(DropdownMenuItem(
child: Text(category['name']),
value: category['name'],
));
});
});
}

getAllTodos()async{
_todoService=TodoService();
_todoList=List<Todo>();

var todos= await _todoService.readTodo();

todos.forEach((todo){
setState(() {
var model=Todo();
model.id=todo['id'];
model.title=todo['title'];
model.dueDate=todo['dueDate'];
model.category=todo['category'];
model.isFinished=todo['isFinished'];
_todoList.add(model);
});
});
}




@override
Widget build(BuildContext context) {
return Scaffold(
key: _globalKey,
appBar: AppBar(
actions: <Widget>[
DropdownButton(
value: _selectedValue,
items: _categories,
onChanged: (value) {
setState(() {
_selectedValue = value;
_loadCategories();
});
},
),

最佳答案

您检查了服务电话吗?
也许,SQFlite数据库未填充您尝试检索的值。
首先尝试使用一组虚拟值,例如:

items: <String>['One', 'Two', 'Free', 'Four']
.map<DropdownMenuItem<String>>((String value) {
return DropdownMenuItem<String>(
value: value,
child: Text(value),
);
}).toList(),
如果上述方法可行,请确保通过服务调用调用 insert查询来填充表格。
或者,您可以使用SQFlite的内置支持来进行原始插入。这意味着您可以使用 rawInsert()使用SQL字符串。

关于sqlite - 用flutter中的sqlite数据库中的数据填充下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62996243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com