【问题标题】:How to delay the search in list.js?如何延迟 list.js 中的搜索?
【发布时间】:2021-04-16 21:01:20
【问题描述】:

我正在使用 list.js 进行过滤和搜索,我的列表非常大,我需要延迟搜索它,但文档没有显示任何如何操作的示例所以,它说的是:https://listjs.com/api/#searchDelay

如何做到这一点的一个例子会很有帮助

【问题讨论】:

    标签: javascript jquery listjs


    【解决方案1】:

    下面是来自List.js 的表格示例,我在这个sn-p 中使用它来演示searchDelay 的用法。下面的 sn-p 代码在开始搜索列表之前设置了 1 秒的延迟。根据changelog,此功能已包含在版本2.3.0

    var options = {
      valueNames: [ 'name', 'born' ],
      searchDelay: 1000 // 1 second
    };
    
    var userList = new List('users', options);
    .list {
      font-family:sans-serif;
    }
    td {
      padding:10px; 
      border:solid 1px #eee;
    }
    
    input {
      border:solid 1px #ccc;
      border-radius: 5px;
      padding:7px 14px;
      margin-bottom:10px
    }
    input:focus {
      outline:none;
      border-color:#aaa;
    }
    .sort {
      padding:8px 30px;
      border-radius: 6px;
      border:none;
      display:inline-block;
      color:#fff;
      text-decoration: none;
      background-color: #28a8e0;
      height:30px;
    }
    .sort:hover {
      text-decoration: none;
      background-color:#1b8aba;
    }
    .sort:focus {
      outline:none;
    }
    .sort:after {
      display:inline-block;
      width: 0;
      height: 0;
      border-left: 5px solid transparent;
      border-right: 5px solid transparent;
      border-bottom: 5px solid transparent;
      content:"";
      position: relative;
      top:-10px;
      right:-5px;
    }
    .sort.asc:after {
      width: 0;
      height: 0;
      border-left: 5px solid transparent;
      border-right: 5px solid transparent;
      border-top: 5px solid #fff;
      content:"";
      position: relative;
      top:4px;
      right:-5px;
    }
    .sort.desc:after {
      width: 0;
      height: 0;
      border-left: 5px solid transparent;
      border-right: 5px solid transparent;
      border-bottom: 5px solid #fff;
      content:"";
      position: relative;
      top:-4px;
      right:-5px;
    }
    <div id="users">
      <input class="search" placeholder="Search" />
      <button class="sort" data-sort="name">
        Sort by name
      </button>
      <table>
        <!-- IMPORTANT, class="list" have to be at tbody -->
        <tbody class="list">
          <tr>
            <td class="name">Jonny Stromberg</td>
            <td class="born">1986</td>
          </tr>
          <tr>
            <td class="name">Jonas Arnklint</td>
            <td class="born">1985</td>
          </tr>
          <tr>
            <td class="name">Martina Elm</td>
            <td class="born">1986</td>
          </tr>
          <tr>
            <td class="name">Gustaf Lindqvist</td>
            <td class="born">1983</td>
          </tr>
        </tbody>
      </table>
    
    </div>
    <script src="//cdnjs.cloudflare.com/ajax/libs/list.js/2.3.1/list.min.js"></script>

    【讨论】:

      猜你喜欢
      • 2018-08-02
      • 2013-02-24
      • 2021-05-20
      • 1970-01-01
      • 2020-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-28
      相关资源
      最近更新 更多