将搜索结果添加到表中而不替换以前的结果angularjs

时间:2018-11-24 06:50:14

标签: javascript arrays angularjs asp.net-web-api

我有一个搜索文本框,可通过api从数据库中搜索产品记录。我提供产品名称作为搜索文字,并将结果显示在表格中。但是,问题是在新搜索之后,只有新的搜索记录显示在该表中。

我想在上一个结果之后插入新的搜索结果。

这是我的搜索表单enter image description here

它将在下表中显示结果。我添加了“添加到列表”以清除搜索文本框并输入新输入。 enter image description here

我想在此记录(黄色区域)之后添加新的搜索记录,而不是替换它。我正在使用带有web api的angularjs。这是我的搜索逻辑

角度控制器

$scope.search = function () {
    var price = '{materialName: "' + $scope.Prefix + '" }';
    var post = $http({
        method: "POST",
        url: "/api/Price/GetMaterial",
        dataType: 'json',
        data: price,
        headers: { "Content-Type": "application/json" }
    });
    post.success(function (data, status) {
        $scope.Customers = data;
        $scope.IsVisible = true;
    });
    post.error(function (data, status) {
        $window.alert(data.Message);
    });
};

在ng-repeat中调用它并显示它。如何实现新的搜索记录并添加到表中

1 个答案:

答案 0 :(得分:1)

发布成功后,不执行“ $ scope.Customers = data”,而是用服务器返回的值替换$ scope.Customers的所有值,只需在$末尾附加“ data”中的值范围。客户。您可以使用以下代码。

$scope.Customers = $scope.Customers.concat(data);