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