layui条件搜索设置不保留上次条件

提交时通过打印data.field 会获得最新的参数,但是搜索后就会加上原来搜索过的参数,找了好久不知道原因,只能算lauyi的一个bug?
解决方式在返回中重置where

 var whereNull;
        form.on('submit(fromQuery)', function (data) {
            if(whereNull != null) {
                whereNull.where = {};
            }
            delete data.field.unit_keyword
                table.reload('product', {
                page:{curr: 1}
                ,where: data.field
                ,done: function() {
                    whereNull = this;
                }
            });
            form.render();
        });

Layui是一个非常流行的前端UI框架,它提供了丰富的组件和工具,方便开发人员快速搭建网站或者应用。在Layui中实现按条件搜索功能可以通过表格组件和form表单组件结合使用来实现。下面是一个简单的示例代码: HTML代码: ``` <div class="layui-form"> <table class="layui-table"> <thead> <tr> <th>姓名</th> <th>年龄</th> <<th>性别</th> </tr> </thead> <tbody> <tr> <td>张三</td> <td>20</td> <td>男</td> </tr> <tr> <td>李四</td> <td>25</td> <td>女</td> </tr> <tr> <td>王五</td> <td>30</td> <td>男</td> </tr> </tbody> </table> <div class="layui-form-item"> <label class="layui-form-label">姓名</label> <div class="layui-input-inline"> <input type="text" name="name" placeholder="请输入姓名" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">年龄</label> <div class="layui-input-inline"> <input type="text" name="age" placeholder="请输入年龄" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">性别</label> <div class="layui-input-inline"> <select name="gender"> <option value="">请选择性别</option> <option value="男">男</option> <option value="女">女</option> </select> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="search">搜索</button> </div> </div> </div> ``` JavaScript代码: ``` layui.use(['table', 'form'], function(){ var table = layui.table; var form = layui.form; // 监听搜索按钮的点击事件 form.on('submit(search)', function(data){ // 获取表单数据 var name = data.field.name; var age = data.field.age; var gender = data.field.gender; // 重新渲染表格 table.reload('test', { where: { name: name, age: age, gender: gender } }); return false; }); // 渲染表格 table.render({ elem: '#test', data: [{ name: '张三', age: 20, gender: '男' }, { name: '李四', age: 25, gender: '女' }, { name: '王五', age: 30, gender: '男' }], cols: [[ {field: 'name', title: '姓名'}, {field: 'age', title: '年龄'}, {field: 'gender', title: '性别'} ]] }); }); ``` 在上面的代码中,我们使用了Layui的表格组件和form表单组件。表格组件用于渲染数据,form表单组件用于获取用户输入的搜索条件。当用户点击搜索按钮时,我们通过监听表单的提交事件,获取用户输入的搜索条件,并通过表格的reload方法重新渲染表格。在reload方法的where参数中,我们可以传递一个对象,用于设置请求参数。在这个示例中,我们把用户输入的姓名、年龄和性别作为请求参数传递给后端服务器进行搜索,后端服务器返回符合条件的数据,前端再用表格组件进行展示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值