jqgrid和vue结合的问题


使用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");

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM