我的代码在哪里联系电话不完整

Posted

技术标签:

【中文标题】我的代码在哪里联系电话不完整【英文标题】:my code not complete for where contact number 【发布时间】:2022-01-03 13:35:06 【问题描述】:

如何修复我的代码抖动和使用插件

     filterContacts() 
        setState(() 
          List<Contact> _contacts = [];
              _contacts.addAll(contacts);
          if (searchController.text.isNotEmpty) 
            _contacts.retainWhere(
              (contact) 
                String searchTerm = searchController.text.toLowerCase().trim();
                String searchTermFlatten = flattenPhoneNumber(searchTerm);
                String contactName = contact.displayName.toString().toLowerCase();
                bool nameMatches = contactName.contains(searchTerm);
                if (nameMatches == true) 
                  return true;
                
                if (searchTermFlatten.isEmpty) 
                  return false;
                
    
                var phone = contact.phones.firstWhere((phn) 
                  String phnFlattened = flattenPhoneNumber(phn);
                  return phnFlattened.contains(searchTermFlatten);
                , orElse: () => null);
    
                return phone != null;
              ,
            );
                contactsFiltered = _contacts;
          
        );
      

Flutter 代码如何修复代码我的代码抖动并使用插件contacts_service, this图片是关于一个问题

【问题讨论】:

【参考方案1】:

contact.phones 可以为 null,在此您需要检查其值 1st 然后继续,

你可以使用 contact.phones?.firstWhere来处理这种情况或

如果您确定它有价值,您也可以使用contact.phones!.firstWhere,但我不建议这样做。不用orElse就可以传null了,

   Item? phone = contact.phones?.firstWhere((phn) 
              String phnFlattened = flattenPhoneNumber(phn);
              return phnFlattened.contains(searchTermFlatten);
            ,  );

您可以了解更多关于?. !...

【讨论】:

【参考方案2】:

[现在如何修复] error code not complete

  filterContacts() 
    setState(() 
      List<Contact> _contacts = [];

      _contacts.addAll(contacts);
      if (searchController.text.isNotEmpty) 
        _contacts.retainWhere(
          (contact) 
            String searchTerm = searchController.text.toLowerCase().trim();
            String searchTermFlatten = flattenPhoneNumber(searchTerm);
            String contactName = contact.displayName.toString().toLowerCase();
            bool nameMatches = contactName.contains(searchTerm);
            if (nameMatches == true) 
              return true;
            

            if (searchTermFlatten.isEmpty) 
              return false;
            

            Item? phone = contact.phones?.firstWhere((phn) 
              String phnFlattened = flattenPhoneNumber(phn);
              return phnFlattened.contains(searchTermFlatten);
            , );

            return phone != null;
          ,
        );

        contactsFiltered = _contacts;
      
    );
  

【讨论】:

除了我的回答还有什么变化吗?你可以查看this

以上是关于我的代码在哪里联系电话不完整的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 联系表单上的“我的提交”按钮未发送

matplotlib轴未显示完整值[重复]

javascript编写验证电话号码的完整代码

为啥 LogCat 不告诉我的代码中的错误在哪里

评估我的 php 代码

这个方法背后的代码在哪里