【问题标题】:keep getting errors when making a search page制作搜索页面时不断出错
【发布时间】:2021-03-19 15:08:22
【问题描述】:

我在颤动的搜索页面上工作,但我一直有错误-'期望一个'Widget'类型的值,但得到一个'String'类型的值。这是我的代码。我关注了 youtube 视频 https://www.youtube.com/watch?v=H3CCtCmBUoQ&ab_channel=1ManStartup,但无法正常工作。有人会查看我的代码并告诉我它有什么问题吗?

//part of statefulWidget  
  class _DataSearchState extends State<DataSearch> {
  TextEditingController _searchController = TextEditingController();

  List allfields = ['A', 'B', 'C', 'D', 'E'];

  List aafields = [ 'A', 'B'];
  List abfields = [ 'C', 'D', 'E'];

  List resultsList = [];

  @override
  void initState() {
    super.initState();
    _searchController.addListener(_onSearchChanged);
  }

  @override
  void dispose() {
    _searchController.removeListener(_onSearchChanged);
    _searchController.dispose();
    super.dispose();
  }

  _onSearchChanged() {
    searchResultsList();
  }

  searchResultsList() {
    var showResults = [];

    if (_searchController.text != "") {
      for (var e in allfields) {
       if (e.contains(_searchController.text)) {
         showResults.add(e);
       }
     }
   } else {
     showResults = List.from(allfields);
   }
   setState(() {
     resultsList = showResults;
   });
 }

Widget build(BuildContext context) {
 return Scaffold(
  body: Column(
    children: [
       TextField(
          controller: _searchController,
          decoration: InputDecoration(prefixIcon: Icon(Icons.search)),
        ),
      ),
       ListView.builder(
              itemCount: resultsList.length,
              itemBuilder: (BuildContext context, int ndx) {
                return ListTile(
                    title: resultsList[ndx],
                    onTap: () {
                      //
                    });
              }
   }

这是错误页面的截图https://i.stack.imgur.com/NBEZb.jpg

【问题讨论】:

    标签: flutter search


    【解决方案1】:

    这是因为ListTiletitle 参数需要Widget,而您却传递了String。把代码改成这样。

    return ListTile(
            title: Text(resultsList[ndx]),
            onTap: () {
              onTileTapped(ndx);
            });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-04
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多