【问题标题】:Error in adding phone number to contacts_service将电话号码添加到 contacts_service 时出错
【发布时间】:2019-09-24 09:48:45
【问题描述】:

我正在尝试从 Flutter 中的 json 数据向手机添加联系人。

我使用了 contacts_service 包。但是当我尝试将电话号码添加到模型时,“无法将字符串分配给可迭代的错误弹出”。

有人可以展示使用这个包和添加联系人的正确方法吗?

我的代码是

onSaved: (val) =>
setState(() => _user.phones = val)),

【问题讨论】:

    标签: flutter


    【解决方案1】:

    正如docs 中所述,电话是ItemIterable,而不是唯一的String

    // Phone numbers
    Iterable<Item> phones = [];
    

    其中Item 是一个基本的key/value 对象。

    你需要这样格式化你的val

    onSaved: (val) =>
        setState((){
            _user.phones = []..add(Item.fromMap({'label': 'work', 'value': val})); // Set the label of your choice
        });
    ),
    

    【讨论】:

    • 尝试使用您的代码。它抛出了错误 Item isnt a fucntion,而且格式也有问题,因为分号处有一个错误,表示它正在使用 ')'
    • 不会抛出错误,但是 newContact.displayName="Jerin"; newContact.phones = []..add(Item.fromMap({'label': 'work', 'value': phoneNumber})); // 设置您选择的标签 // 添加联系人 // 联系人必须有名字/姓氏才能成功添加 await ContactsService.addContact(newContact);这是我尝试过的,它执行但没有添加联系人。是因为我没有给出名字和姓氏吗?但是模型没有名字和姓氏?
    • 我尝试分配每个可能的名称 newContact.displayName="Jerin"; newContact.familyName="Cherian"; newContact.givenName="Cherian"; newContact.middleName="Cherian"; newContact.phones = []..add(Item.fromMap({'label': 'work', 'value': phoneNumber})); // 设置您选择的标签 // 添加联系人
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多