在RCTAutoComplete中返回对象而不是字符串

时间:2016-01-06 05:50:37

标签: autocomplete react-native

我已经在我的React Native应用程序中实现了RCTAutoComplete并让它像演示一样工作:

onTyping: function (text) {

    var countries = Countries.filter(function (country) {
        return country.name.toLowerCase().startsWith(text.toLowerCase())
    }).map(function (country) {
        return country.name;
    });

    this.setState({
        data:  countries
    });
},

但是,我希望它在点击后返回国家/地区的ID,而不是国家/地区的名称。当我使用一个对象数组作为数据源时,它会返回以下错误:

  

执行UI块时抛出异常:MLPAutoCompleteTextField需要一个数组,其对象可以是字符串,也可以符合MLPAutoCompletionObject协议的可能完成。“

不确定如何实现“MLPAutoCompletionObject协议。”

1 个答案:

答案 0 :(得分:1)

Objective-C协议类似于Java / C#接口。您可以通过查看MLPAutoCompletionObject的头文件找出要实现的属性:

https://github.com/EddyBorja/MLPAutoCompleteTextField/blob/master/MLPAutoCompleteTextField/MLPAutoCompletionObject.h

TLDR:您的对象似乎都需要名为autocompleteString

的属性