layui中table請求參數不變問題


今天同事遇到了一個比較奇怪的問題,使用layui中的table的模塊編寫完成之后,開始對條件查詢進行測試

條件中有一個選擇框,其中包括請選擇,已完結和未完結三個值

出現的問題:選擇已完結之后可以查詢到正確結果,然后選擇 ‘請選擇’選項時,查詢出的結果還是以完結的結果

                選擇未完結之后可以查詢到正確結果,然后選擇 ‘請選擇’選項時,查詢出的結果還是未完結的結果

經過同事打斷點,我發現在選擇‘請選擇’的時候,請求的參數為空(空集合,沒有任何條件)

如下代碼所示

table.render({
    page: {
        curr: 1 //重新從第 1 頁開始
    },
    where: {}
});
以上代碼改成
table.render({
    page: {
        curr: 1 //重新從第 1 頁開始
    },
    where: {'end':''}
});
之后可以正常使用
 
 
可以的原因(猜想):
    每次調用where傳入參數后,先於上一次的查詢條件進行比較,如果對象屬性有相同的key,則將當前的值替換上一次條件的值,在執行本次的查詢,
    如果上一次查詢的對象屬性中的key在本次的條件查詢的where中沒有的話,使用上一次的對象屬性中的值
    從而產生緩存的效果,而這種緩存可能造成查詢的錯誤
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM