The method 'firstWhere' isn't defined for the type 'Object' in flutter
280
Have you tried using generics? Give a specific type to your FutureBuilder
like:
FutureBuilder<List<String>>(
// your code here
);
Author by
Praveen Kumar
Updated on January 03, 2023Comments
-
Praveen Kumar over 1 year
Here is the code in which I'm getting two errors. The first error I am getting is- "The method 'firstWhere' isn't defined for the object in flutter" and second one is-"The argument type 'Object?' can't be assigned to the parameter type 'List'"
I am new in fetching data from api and working with these things so I am not sure how to shorten this.
FutureBuilder( future: countryList, builder: (context,snapshot){ if(snapshot.hasData){ return TypeAheadFormField( textFieldConfiguration: TextFieldConfiguration( controller: this._typeAheadController, decoration: InputDecoration( hintText: 'Type here country name', hintStyle: TextStyle(fontSize: 16), border: OutlineInputBorder( borderRadius: BorderRadius.circular(15), borderSide: BorderSide( width: 0, style: BorderStyle.none, ), ), filled: true, fillColor: Colors.grey[200], contentPadding: EdgeInsets.all(20), prefixIcon: Padding( padding: EdgeInsets.only(left: 24.0, right: 16.0), child: Icon( Icons.search, color: Colors.black, size: 28, ), ), ), ), suggestionsCallback: (pattern) { return _getSuggestions(snapshot.data, pattern); }, itemBuilder: (context, suggestion) { return ListTile( title: Text(suggestion.toString()), ); }, transitionBuilder: (context, suggestionsBox, controller) { return suggestionsBox; }, onSuggestionSelected: (suggestion) { this._typeAheadController.text = suggestion.toString(); setState(() { summaryList = covidService.getCountrySummary( snapshot.data! .firstWhere((element) => element.country == suggestion).slug); }); }, ); } else return Text("Loading..."); } ), FutureBuilder( future: summaryList, builder: (context,snapshot){ if(snapshot.hasData){ return Final_Data(summaryList:snapshot.data); } else if(snapshot.connectionState==ConnectionState.active){ return Text("Connections state"); } else if(snapshot.hasError){ return Text("Error"); } else return Text("Eroro adl"); }, ),
Error...
The method 'firstWhere' isn't defined for the type 'Object'. The argument type 'Object?' can't be assigned to the parameter type 'List<CountrySummaryModel>'.