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