layui 表格重载参数不更新的问题

  • A+
所属分类:Web前端
摘要

使用Layui table重载时,发现如果前端多选,减少选项,后台接收的参数不会变化,使用的还是之前的搜索条件。

使用Layui table重载时,发现如果前端多选,减少选项,后台接收的参数不会变化,使用的还是之前的搜索条件。


//执行重载
table.reload('UserTable', {
page: {
curr: 1 //重新从第 1 页开始
},
where: {
key: {
name: searchName.val(),
selected_position:position.getValue('value'),
       }
    },
  }

 

  • 前端第一次查询选择参数:

layui 表格重载参数不更新的问题

 后端接收: 'key[selected_position][]': ['7', '8']

 

  • 第二次查询:

layui 表格重载参数不更新的问题

  后端接收:'key[selected_position][]': ['7', '8']

 

具体问题原因未知,参考了网上的解决方案:https://blog.csdn.net/zhuxun_why/article/details/105640387

考虑把多选的数组转换为字符串,然后交给后台进行接收,这样就和普通的搜索框,内容一旦有变化就会更新。调整代码:

table.reload('UserTable', {     page: {         curr: 1 //重新从第 1 页开始     },     where: {         key: {             name: searchName.val(),             selected_position:position.getValue('value').toString(),
       }
     },
   }

 

第一次查询结果:'key[selected_position]': ['7,8']

第二次查询结果:'key[selected_position]': ['7']

后端接收的查询结果已经变化,再进行字符串转换处理,得到真正的搜索选项。