jqgrid和vue结合的问题

为君一笑 提交于 2020-04-08 02:59:40

使用jqgrid做一个项目

var page = $("#jqGrid").jqGrid('getGridParam','page');
            var postData = $('#jqGrid').jqGrid("getGridParam", "postData");            
            $("#jqGrid").jqGrid('setGridParam',{ 
                postData:{
                            'startAt': vm.q.startAt,
                            'endAt': vm.q.endAt,
                            'customer': vm.q.customer,
                            'productLine': vm.q.productLine,
                            'projectType': vm.q.projectType,
                            'project_manager':vm.q.pm
                          },
                page:page
            }).trigger("reloadGrid");

在参数里面传了多个数据.发现的问题是假如先用一个数据,比如

vm.q.projectType = 1,这样去查询了一次然后再把
vm.q.projectType置为null,这样,还是会传之前的数据1到后台,查了很久的资料,发现原因是这样的.jqgrid会存储上一次请求的数据,如果本次传了,那么就会覆盖.如果为null,那么就会仍然使用上一次的数据,就会早上上面的情况解决方案:每次传以前,把数据给清了修改后的代码
var page = $("#jqGrid").jqGrid('getGridParam','page');
            var postData = $('#jqGrid').jqGrid("getGridParam", "postData");
            $.each(postData, function (k, v) {
                delete postData[k];
            });
            $("#jqGrid").jqGrid('setGridParam',{ 
                postData:{
                            'startAt': vm.q.startAt,
                            'endAt': vm.q.endAt,
                            'customer': vm.q.customer,
                            'productLine': vm.q.productLine,
                            'projectType': vm.q.projectType,
                            'project_manager':vm.q.pm
                          },
                page:page
            }).trigger("reloadGrid");

 

 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!