我无法使用离子自动完成功能

时间:2015-05-20 13:03:29

标签: angularjs cordova autocomplete ionic-framework

我正在使用guylabs/ion-autocomplete但在ios和android模拟器中运行时遇到一些问题。事先我在浏览器中制作了一个模型运行它,这很好,但是当我将相同的代码复制到我的实际项目时,我收到了一个错误。有人可以帮帮我..没有任何线索!

我在控制台中遇到以下错误: [错误]错误:集合重复期望属性collection-item-height是一个返回数字(以像素为单位)或百分比的表达式。

HTML

<div class="list card">
    <ion-autocomplete 
        ng-model="model"
        item-value-key="view"
        item-view-value-key="name"
        item-view-value-key="id"
        items-method="getTestItems(query)"
        items-method-value-key="items"
        items-clicked-method="itemsClicked(callback)"
        select-items-label="SEARCH"
        selected-items-label="Selected:"/>
</div>

JS

tcControllers.controller('SomeCtrl', function ($scope, $stateParams, $localStorage) {
$localStorage.getObject('Something').forEach(function(ticket){
    if (ticket.id == parseInt($stateParams.ticketId)){
        $scope.ticket = ticket;
    }
});
$scope.model = "";
$scope.callbackValueModel = "";
$scope.getTestItems = function (query) {
    var zoekItems = [
        {id: "1", name: "John", view: "John: "},
        {id: "2", name: "Richard", view: "Richard: "},
        {id: "3", name: "Steve", view: "Steve: "},
    ];
    var returnValue = { items: [] };
    zoekItems.forEach(function(item){
        console.log(item);
        if (item.name.indexOf(query) > -1 ){
            returnValue.items.push(item);
        }
        else if (item.id.indexOf(query) > -1 ){
            returnValue.items.push(item);
        }
    });
    return returnValue;
};
$scope.itemsClicked = function (callback) {
    $scope.callbackValueModel = callback;
}

});

1 个答案:

答案 0 :(得分:2)

这似乎是自动完成正在使用的collection-repeat指令的问题。最好更新到最新的稳定Ionic版本(1.0.0)来解决这个问题。您也可以进入lib / ion-autocomplete / dist / ion-autocomplete.js并添加collection-item-height="52"代替item-height(第88行),它应该可以使用,但我建议您更新。