溫馨提示×

layui模糊查詢怎么實(shí)現(xiàn)

小億
213
2024-01-13 18:04:21
欄目: 編程語言

在Layui中,可以通過兩種方式來實(shí)現(xiàn)模糊查詢:

  1. 使用后端接口實(shí)現(xiàn)模糊查詢:通過Layui的數(shù)據(jù)表格組件,設(shè)置url屬性為后端接口的地址,同時可以通過設(shè)置where參數(shù)來傳遞模糊查詢的條件,后端接口根據(jù)這個條件進(jìn)行模糊查詢并返回結(jié)果給前端展示。

示例代碼:

layui.use('table', function(){
  var table = layui.table;
  
  table.render({
    elem: '#demo',
    url: '/api/data', // 后端接口地址
    where: {
      keyword: '關(guān)鍵字' // 模糊查詢的條件
    },
    cols: [[
      {field: 'id', title: 'ID'},
      {field: 'name', title: '姓名'},
      {field: 'age', title: '年齡'}
    ]]
  });
});

后端接口示例(使用Node.js和Express框架):

app.get('/api/data', function(req, res){
  var keyword = req.query.keyword; // 獲取前端傳遞的模糊查詢條件
  // 根據(jù)關(guān)鍵字進(jìn)行模糊查詢
  var result = data.filter(function(item){
    return item.name.includes(keyword);
  });
  res.json(result);
});
  1. 使用前端過濾器實(shí)現(xiàn)模糊查詢:在Layui的數(shù)據(jù)表格組件中,可以使用lay-filter屬性設(shè)置過濾器的名稱,然后通過監(jiān)聽表格數(shù)據(jù)的變化,在回調(diào)函數(shù)中進(jìn)行模糊查詢的操作。

示例代碼:

layui.use('table', function(){
  var table = layui.table;
  
  table.render({
    elem: '#demo',
    url: '/api/data', // 后端接口地址
    cols: [[
      {field: 'id', title: 'ID'},
      {field: 'name', title: '姓名'},
      {field: 'age', title: '年齡'}
    ]],
    done: function(res, curr, count){
      // 監(jiān)聽數(shù)據(jù)渲染完成的事件
      // 獲取輸入框的值
      var keyword = $('#keyword').val();
      // 進(jìn)行模糊查詢
      var result = res.data.filter(function(item){
        return item.name.includes(keyword);
      });
      // 渲染過濾后的數(shù)據(jù)
      table.reload('demo', {
        data: result
      });
    }
  });
});

HTML代碼:

<div class="layui-inline">
  <input id="keyword" type="text" class="layui-input" placeholder="請輸入關(guān)鍵字">
</div>

以上就是在Layui中實(shí)現(xiàn)模糊查詢的兩種方式,可以根據(jù)具體的需求選擇適合的方式進(jìn)行實(shí)現(xiàn)。

0