Angular UI uib-typeahead结果未显示在下拉列表中

时间:2019-02-26 23:22:28

标签: angularjs-directive typeahead

我已经经历了先前的解决方案,但这并没有帮助解决我的问题。我正在尝试提前输入显示用户详细信息列表。我收到类似以下的错误,API调用的结果被打印在控制台日志中,但没有显示在下拉菜单中。

在我的控制器中:

=MID(LEFT(A1,AGGREGATE(14,6,ROW($XFD$1:INDEX(XFD:XFD,LEN(A1)))/(MID(A1,ROW($XFD$1:INDEX(XFD:XFD,LEN(A1))),1)<>" "),1)),AGGREGATE(15,6,ROW($XFD$1:INDEX(XFD:XFD,LEN(A1)))/(MID(A1,ROW($XFD$1:INDEX(XFD:XFD,LEN(A1))),1)<>" "),1),999)

在我的html中:

$scope.getUserDetails = function (id, value) {
            var myUrl = '//myAPIcall?id=1&value=xxx';

                return $http.get(myUrl).then(function successCallback(response) {                     
                      return response.data.userOptions[0].userOptionValues.map(function(item) {
                          console.log('item.userValue = '+item.userValue);
                          $scope.getUserDetails = item.userValue;
                          return item.userValue;
                      });
                    }, function errorCallback(response) {
                      console.log(response);
                    });             
        };

错误: [filter:notarray] http://errors.angularjs.org/1.4.6/filter/notarray?p0=%7B%22%24%24state%22%3A%7B%22status%22%3A0%7D%7D     在angular.min.js:6     在angular.min.js:149     在Object.fn [作为源代码](在编译时评估(angular.min.js:212),:4:610)     在getMatchesAsync(ui-bootstrap-tpls-0.14.0.min.js:6747)     在ui-bootstrap-tpls-0.14.0.min.js:6845     在angular.min.js:146     在e(angular.min.js:43)     在angular.min.js:45

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

有些不可思议的事情正在发生:

item = item.userValue

});

1)您将$ scope.getUserDetails重置为单个值,这将覆盖$ scope.getUserDetails = function(...)行。

2)您将返回单个值的数组,但是在uib-typeahead中,您尝试使用item.userValue,但由于此行#\n([\s\S]+?)#\n

如果没有更多信息或示例数据,很难说清。