抛出另一个异常:type 'RxList<dynamic>' is not a subtype of type 'List<Vehicle>' in type cast
Another exception was thrown: type 'RxList<dynamic>' is not a subtype of type 'List<Vehicle>' in type cast
我想从数据库实现搜索功能,但它显示类型转换错误
Another exception was thrown: type 'RxList<dynamic>' is not a subtype of type 'List<Vehicle>' in type cast
在我的Vehicle_Controllerclass
final vehicleList = [].obs;
Future<void> getVehicles() async {
List<Map<String, dynamic>> vehicleDetails = await DBHelper.query();
vehicleList.assignAll(vehicleDetails.map((data) => Vehicle.fromJson(data)).toList());
}
我想在我的搜索中实现搜索class
final _vehicleController = Get.put(VehicleController());
List<Vehicle> _list;
List<Vehicle> _searchList = List();
void initState() {
super.initState();
_IsSearching = false;
_list = _vehicleController.vehicleList as List<Vehicle>; //type cast error
_searchList = _list;
_searchQuery.addListener(() {
if (_searchQuery.text.isEmpty) {
setState(() {
_IsSearching = false;
_searchText = "";
_buildSearchList();
});
} else {
setState(() {
_IsSearching = true;
_searchText = _searchQuery.text;
_buildSearchList();
});
}
});
}
你应该使用 _vehicleController.vehicleList.value
因为 vehicleList
是 - 就像例外说的那样 - RxList
而不是 List
还将此行更新为 <Vehicle>[]
。
final vehicleList = <Vehicle>[].obs;
这将使 vehicleList
成为 RxList<Vehicle>
类型
我想从数据库实现搜索功能,但它显示类型转换错误
Another exception was thrown: type 'RxList<dynamic>' is not a subtype of type 'List<Vehicle>' in type cast
在我的Vehicle_Controllerclass
final vehicleList = [].obs;
Future<void> getVehicles() async {
List<Map<String, dynamic>> vehicleDetails = await DBHelper.query();
vehicleList.assignAll(vehicleDetails.map((data) => Vehicle.fromJson(data)).toList());
}
我想在我的搜索中实现搜索class
final _vehicleController = Get.put(VehicleController());
List<Vehicle> _list;
List<Vehicle> _searchList = List();
void initState() {
super.initState();
_IsSearching = false;
_list = _vehicleController.vehicleList as List<Vehicle>; //type cast error
_searchList = _list;
_searchQuery.addListener(() {
if (_searchQuery.text.isEmpty) {
setState(() {
_IsSearching = false;
_searchText = "";
_buildSearchList();
});
} else {
setState(() {
_IsSearching = true;
_searchText = _searchQuery.text;
_buildSearchList();
});
}
});
}
你应该使用 _vehicleController.vehicleList.value
因为 vehicleList
是 - 就像例外说的那样 - RxList
而不是 List
还将此行更新为 <Vehicle>[]
。
final vehicleList = <Vehicle>[].obs;
这将使 vehicleList
成为 RxList<Vehicle>