gpt4 book ai didi

angularjs - 如何使用 AngularJS 过滤器将表搜索结果默认为隐藏?

转载 作者:行者123 更新时间:2023-12-04 23:57:57 24 4
gpt4 key购买 nike

在下面的 Angularjs 片段中,默认情况下会显示整个表格,并在您开始输入时对其进行过滤。

  • 将其更改为默认情况下不显示结果并且仅在至少 3 个结果与搜索查询匹配后才开始显示结果的最佳做法是什么?
  • 额外的问题,如果输入了至少 2 个字符,您将如何仅显示结果?

  • html :
    <div ng-app="myApp">
    <div ng-controller="PeopleCtrl">
    <input type="text" ng-model="search.$">
    <table>
    <tr ng-repeat="person in population.sample | filter:search">
    <td>{{person.name}}</td>
    <td>{{person.job}}</td>
    </tr>
    </table>
    </div>
    </div>

    Main.js :
    var myApp = angular.module('myApp', []);
    myApp.factory('Population', function () {
    var Population = {};
    Population.sample = [
    {
    name: "Bob",
    job: "Truck driver"
    }
    // etc.
    ];
    return Population;
    });

    function PeopleCtrl($scope, Population) {
    $scope.people = Population;
    }

    最佳答案

    实际上,您可以在标记中完成所有这些操作... here's a plunk to demonstrate

    这是您标记的变化:

    <input type="text" ng-model="search">
    <table ng-show="(filteredData = (population.sample | filter:search)) && filteredData.length >= 3 && search && search.length >= 2">
    <tr ng-repeat="person in filteredData">
    <td>{{person.name}}</td>
    <td>{{person.job}}</td>
    </tr>
    </table>

    编辑:更改了我的答案以反射(reflect)您的要求。

    关于angularjs - 如何使用 AngularJS 过滤器将表搜索结果默认为隐藏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14688353/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com