關(guān)于前端框架vue,react,等雙向綁定框架寫后臺管理系統(tǒng)查詢列表非常容易犯的錯誤提醒

最近在做管理后臺系統(tǒng)不經(jīng)意間發(fā)現(xiàn)了一可能百分之80的人都容易犯的一個錯誤,如下圖
image.png

是一個用vue開發(fā)的標(biāo)準的后臺管理系統(tǒng)。
我們上圖的輸入框一般會使用vue的雙向綁定,這樣就會導(dǎo)致一個問題就是我們即使不點擊查詢僅僅是填寫內(nèi)容和選擇下拉框,去點擊下一頁請求數(shù)據(jù)也會帶著我們填寫的查詢字段的內(nèi)容執(zhí)行查詢,因為我們的雙向綁定在我們修改的時候已經(jīng)去將搜索的數(shù)據(jù)源改變,導(dǎo)致出現(xiàn)查詢問題!
建議在點擊查詢的時候?qū)㈦p向綁定的數(shù)據(jù)進行重新copy一份使用copy數(shù)據(jù)進行l(wèi)ist查詢參數(shù),并且查詢時重新賦值頁碼字段或者使用watch監(jiān)聽頁碼重新賦值

//如下例子listQuery是查詢綁定字段
listQuery: {
        pageNum: 1,
        pageSize: 10,
        test1:'',
        test2:''
      }
//在點擊查詢按鈕需要進行copy  這里的exportData是我的導(dǎo)出參數(shù)和列表請求參數(shù)只有在點擊查詢才會賦值
handleFilter() {
      this.listQuery.pageNum = 1
      this.exportData = this.$common.deepCopy(this.listQuery)
      this.getList()
    },
//注意這樣頁碼分頁會失效 建議在請求列表之前頁碼重新賦值或者使用watch監(jiān)聽

watch: {
    'listQuery.pageNum': {
      handler(n, o) {
        this.exportData.pageNum = n
      },
      deep: true
    }, 'listQuery.pageSize': {
      handler(n, o) {
        this.exportData.pageSize = n
      },
      deep: true
    }
  },
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容