【问题标题】:how to find the return value from the map is empty如何从map中查找返回值为空
【发布时间】:2022-11-19 20:38:44
【问题描述】:

我试图创建一个带有搜索查询的列表视图,我想在地图函数的返回元素为空时显示一个空图标可以帮助我实现这个

ListView(
          children: controller.todo.value.where((element) {
        if (controller.search.value != '') {
          return element.labels!
                  .toString()
                  .toLowerCase()
                  .contains(controller.search.value);
        }
        return true;
      }).map((todo) {

      //here i need to check whether it is null or nor
      
      return Text(todo.name)}).toList())
           
            

【问题讨论】:

  • 你想要显示图标而不是空列表?

标签: flutter dart flutter-layout


【解决方案1】:

尝试这个:

Builder(
  builder: (context) {
    List<Widget> children =
        controller.todo.value.where((element) {
      if (controller.search.value != '') {
        return element.labels!
            .toString()
            .toLowerCase()
            .contains(controller.search.value);
      }
      return true;
    }).map((todo) {
      return Text(todo.name);
    }).toList();

    return children.isEmpty
        ? Center(
            child: Icon(Icons.warning),
          )
        : ListView(
            children: children,
          );
  },
),

【讨论】:

  • 它仅在 controller.todo 为空时工作,但在这种情况下,我需要从 map 函数中找到过滤后的值是否为空
  • 你想在 controller.search.value 为空时显示图标吗? @VenkatCpr
  • 不,需要显示 map 函数的返回值
  • 我更新了我的答案,检查一下。 @VenkatCpr
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-25
  • 2015-06-17
  • 1970-01-01
  • 2021-08-04
  • 2012-03-01
  • 2012-04-07
  • 2015-11-25
相关资源
最近更新 更多