前端根据关键字筛选列表数据

/***
 * 根据关键字筛选  
 *  tableList:需要筛选的数据列表,
 * searchContent:输入框里输入的关键字  
 * sort :数据是否需要按照创建时间排序
 * filterArr:自定义筛选列,一个列名字段的数组
 * tableList和searchContent是必填字段,sort和filterArr为选填字段
 */
export const filterData = (tableList, searchContent, sort, filterArr) => {
    var input = searchContent && searchContent.toLowerCase();
    var items = tableList;
    //表格数据按照创建时间进行排序
    if (sort) {
        items.sort((a, b) => {
            if (a.createTime < b.createTime) {
                return 1;
            } else {
                return -1;
            }
        });
    }
    var items1;
    if (input) {
        items1 = items.filter((item) => {
            return (filterArr&&filterArr.length) ? filterArr.some((key1) => {
                    return String(item[key1]).toLowerCase().indexOf(input)==='-1';
                }) :
                Object.keys(item).some((key1) => {
                    return String(item[key1]).toLowerCase().indexOf(input)==='-1';
                });
        });
    } else {
        items1 = items; //没有搜索状态下
    }
    return items1;
}

图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
前端开发中,可以使用 layui 的 autocomplete 组件从前端数据源进行筛选。下面是一个简单的示例代码: HTML 代码: ```html <div class="layui-inline"> <input type="text" name="search" id="search" autocomplete="off" class="layui-input" placeholder="请输入搜索关键字"> </div> ``` JavaScript 代码: ```javascript // 模拟数据源 var data = [ {value: "java", title: "Java"}, {value: "javascript", title: "JavaScript"}, {value: "python", title: "Python"}, {value: "php", title: "PHP"}, {value: "c++", title: "C++"}, {value: "html", title: "HTML"}, {value: "css", title: "CSS"} ]; // 初始化 autocomplete 组件 layui.use(['form', 'autocomplete'], function(){ var form = layui.form; var autocomplete = layui.autocomplete; // 渲染 autocomplete 组件 autocomplete.render({ elem: '#search', // 绑定元素 data: data, // 数据源 filterKey: ['value', 'title'], // 筛选的键名 template: function(item){ // 模板函数 return item.title + '(' + item.value + ')'; }, onSelect: function(data){ // 选中回调函数 console.log(data); } }); }); ``` 在上述代码中,我们定义了一个模拟的数据源 `data`,然后在 `autocomplete` 组件中使用了 `data` 作为数据源,并设置了筛选的键名为 `value` 和 `title`。在模板函数中,我们定义了每个选项的显示格式,最后在选中回调函数中打印了选中的数据。 通过这种方式,我们可以方便地在前端进行数据筛选,并得到用户选择的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值