抛出另一个异常: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>

类型