最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue查詢(xún)數(shù)據(jù)el-table不更新數(shù)據(jù)的解決方案

 更新時(shí)間:2022年12月15日 11:10:58   作者:謝長(zhǎng)留  
這篇文章主要介紹了vue查詢(xún)數(shù)據(jù)el-table不更新數(shù)據(jù)的問(wèn)題及解決方案,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

vue查詢(xún)到數(shù)據(jù)el-table不更新數(shù)據(jù)

如:查詢(xún)名稱(chēng)為abc的數(shù)據(jù),.js及.vue后臺(tái)打印都可以查詢(xún)到此條數(shù)據(jù),el-table卻不顯示該條數(shù)據(jù)
出現(xiàn)錯(cuò)誤:
1.Uncaught TypeError: Cannot read properties of null (reading ‘offsetHeight’)
2.Uncaught (in promise) TypeError:data.includes is not a function

如:此時(shí)把輸入框清空再點(diǎn)查詢(xún)(即想要查詢(xún)所有數(shù)據(jù)),后臺(tái)可以打印出查到的全部數(shù)據(jù),el-table卻不顯示這些數(shù)據(jù)。只有網(wǎng)頁(yè)刷新重新加載才會(huì)出現(xiàn)所有數(shù)據(jù),且未分頁(yè)。
出現(xiàn)錯(cuò)誤:
1.Uncaught (in promise) TypeError: Cannot read properties of null (reading ‘emitsOptions’)runtime-core.esm-bundler.js:1090 (只要清空就出現(xiàn)這個(gè)錯(cuò)誤,說(shuō)是不能為空?)
2.Uncaught (in promise) TypeError: instance.update is not a function(點(diǎn)擊搜索后出現(xiàn)該錯(cuò)誤,后臺(tái)可以查到全部數(shù)據(jù),table卻不顯示這些數(shù)據(jù))
具體的看這條問(wèn)答https://ask.csdn.net/questions/7766918

解決方案

組件內(nèi)el-table部分代碼未改

<el-table :data="userList" :key="key" style="width: 100%">
        <el-table-column prop="name" label="姓名" width="180" />
        <el-table-column prop="phone" label="電話(huà)" />
        <el-table-column prop="email" label="郵箱" width="180" />
        <el-table-column prop="role" label="角色" />      
        <el-table-column label="操作">
          <template #default="scope">
            <el-button type="primary" @click="editRow(scope.row)">編輯</el-button>
            <el-button type="danger" @click="deleteRow(scope.row)">刪除</el-button>
          </template>
        </el-table-column>
        <!-- mg_state 狀態(tài) -->
      </el-table>
      <!-- 分頁(yè) -->
      <el-pagination v-model:currentPage="searchParams.pagenum" v-model:page-size="searchParams.pagesize"
        :page-sizes="[2,5,10,20]" :small="small" layout="total, sizes, prev, pager, next, jumper" :total="total"
        @size-change="searchList" @current-change="searchList" />

js函數(shù)部分小改動(dòng)

const searchList = () => {
        //從第i個(gè)開(kāi)始,數(shù)pagesize個(gè),少于sum和length
        var i = data.searchParams.pagesize * (data.searchParams.pagenum - 1)        
        var sum = i + data.searchParams.pagesize
        //顯示的數(shù)據(jù)
        var user = []
        //取需要的數(shù)據(jù)
        axios.post("/getuser", (data.searchParams)).then(res => {
          // userListApi(data.searchParams).then(res=>{           
          if (res.data) {
            for (; i < res.data.length && i < sum; i++) {             
              user.push(res.data[i])
            }
            data.userList = user;
            data.total = res.data.length;
          }
        }).catch(err => {
          console.log(err)
        })
      }

mockjs接口部分小改動(dòng)

// 獲取單個(gè)用戶(hù)信息
function getUser(options) {
  // 先從 localStorage 中拉取數(shù)據(jù)
  // var userlist = JSON.parse(localStorage.getItem('userlist'))
  var userlist = getList()
  //判斷有無(wú)參數(shù)
  if (JSON.parse(options.body).query) {
    console.log("查單個(gè)")
    //查到的個(gè)數(shù)
    var sum = 0
    //查到的數(shù)據(jù)
    var user = []
    // 遍歷數(shù)組,返回id 與傳來(lái) id 相當(dāng)?shù)囊粋€(gè)對(duì)象    
    for (let index in userlist) {
      //字符串轉(zhuǎn)對(duì)象再去掉所有空格
      if (userlist[index].name == JSON.parse(options.body).query.replace(/\s+/g, "")) {
        console.log("查詢(xún)到了")
        //返回?cái)?shù)組的話(huà)data.includes is not a function,數(shù)組≠proxy
        // var user=userlist[index]
        // return user
        user.push(userlist[index])
        sum++
      }
    }
    return user
  }
  else {
    console.log("查所有")
    return userlist
  }
}
Mock.mock('/getuser', 'post', getUser)

改動(dòng)的邏輯是
從最簡(jiǎn)單的問(wèn)題入手,我發(fā)現(xiàn)當(dāng)查詢(xún)顯示全部數(shù)據(jù)時(shí)也不分頁(yè),仔細(xì)看看代碼,發(fā)現(xiàn)我每次給data.userlist的都是全部的數(shù)據(jù),并不是分頁(yè)后的數(shù)據(jù)。也就是說(shuō),我完全沒(méi)有用到data.pagesize和data.pagenum兩個(gè)參數(shù)。于是把邏輯改成:

  • mockjs負(fù)責(zé)找數(shù)據(jù),不管是何種情況都返回一個(gè)數(shù)據(jù)數(shù)組。
  • js函數(shù)(script部分)取到數(shù)據(jù)后,根據(jù)data.pagesize和data.pagenum兩個(gè)分頁(yè)參數(shù),遍歷出分頁(yè)后顯示出的數(shù)據(jù)賦給data.userlist。

以上,所有問(wèn)題都解決了。
如果非要說(shuō)為啥出現(xiàn)問(wèn)題,我也不知道,可能就是對(duì)象賦值的問(wèn)題吧。反正,能運(yùn)行就行。

到此這篇關(guān)于vue查詢(xún)數(shù)據(jù)el-table不更新數(shù)據(jù)的文章就介紹到這了,更多相關(guān)vue查詢(xún)數(shù)據(jù)el-table不更新數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決前端調(diào)用后端接口返回200但數(shù)據(jù)返回的是html標(biāo)簽

    解決前端調(diào)用后端接口返回200但數(shù)據(jù)返回的是html標(biāo)簽

    這篇文章主要給大家介紹了關(guān)于如何解決前端調(diào)用后端接口返回200但數(shù)據(jù)返回的是html標(biāo)簽的相關(guān)資料,文中通過(guò)圖文將解決的過(guò)程介紹的非常詳細(xì),對(duì)同樣遇到這個(gè)問(wèn)題的朋友具有一定的參考解決價(jià)值,需要的朋友可以參考下
    2024-05-05
  • vuedraggable實(shí)現(xiàn)拖拽功能

    vuedraggable實(shí)現(xiàn)拖拽功能

    這篇文章主要為大家詳細(xì)介紹了vuedraggable實(shí)現(xiàn)拖拽功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue.js開(kāi)發(fā)環(huán)境安裝教程

    vue.js開(kāi)發(fā)環(huán)境安裝教程

    這篇文章主要為大家詳細(xì)介紹了vue.js開(kāi)發(fā)環(huán)境的安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • vue-cli3 從搭建到優(yōu)化的詳細(xì)步驟

    vue-cli3 從搭建到優(yōu)化的詳細(xì)步驟

    這篇文章主要介紹了vue-cli3 從搭建到優(yōu)化的詳細(xì)步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • VUE 實(shí)現(xiàn)一個(gè)簡(jiǎn)易老虎機(jī)的項(xiàng)目實(shí)踐

    VUE 實(shí)現(xiàn)一個(gè)簡(jiǎn)易老虎機(jī)的項(xiàng)目實(shí)踐

    老虎機(jī)在很多地方都可以見(jiàn)到,可以設(shè)置中獎(jiǎng)位置,以及中獎(jiǎng)回調(diào),本文主要介紹了VUE 實(shí)現(xiàn)一個(gè)簡(jiǎn)易老虎機(jī)的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • vuejs通過(guò)filterBy、orderBy實(shí)現(xiàn)搜索篩選、降序排序數(shù)據(jù)

    vuejs通過(guò)filterBy、orderBy實(shí)現(xiàn)搜索篩選、降序排序數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了vuejs通過(guò)filterBy、orderBy實(shí)現(xiàn)搜索篩選、降序排序數(shù)據(jù)實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Vue3根據(jù)動(dòng)態(tài)字段綁定v-model的操作代碼

    Vue3根據(jù)動(dòng)態(tài)字段綁定v-model的操作代碼

    最近在學(xué)習(xí)vue技術(shù),開(kāi)發(fā)表格的時(shí)候,想把表格做成組件,那查詢(xún)條件就需要?jiǎng)討B(tài)生成,這就遇到一個(gè)問(wèn)題,vue怎么動(dòng)態(tài)給v-model變量值,本文通過(guò)實(shí)例代碼給大家介紹,對(duì)Vue3動(dòng)態(tài)綁定v-model實(shí)例代碼感興趣的朋友一起看看吧
    2022-10-10
  • 關(guān)于vue-treeselect的基本用法

    關(guān)于vue-treeselect的基本用法

    vue-treeselect?是一個(gè)多選組件,具有對(duì)?Vue.js嵌套選項(xiàng)支持,這篇文章主要介紹了關(guān)于vue-treeselect的基本用法,需要的朋友可以參考下
    2022-11-11
  • Vue3 編寫(xiě)自定義指令插件的示例代碼

    Vue3 編寫(xiě)自定義指令插件的示例代碼

    這篇文章主要介紹了Vue3 編寫(xiě)自定義指令插件的示例代碼,主要包括編寫(xiě)自定義插件,在 main.ts 中加載啟用插件的代碼介紹,對(duì)Vue3自定義指令插件相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-07-07
  • Vue自定義指令結(jié)合阿里云OSS優(yōu)化圖片的實(shí)現(xiàn)方法

    Vue自定義指令結(jié)合阿里云OSS優(yōu)化圖片的實(shí)現(xiàn)方法

    這篇文章主要介紹了Vue自定義指令結(jié)合阿里云OSS優(yōu)化圖片的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評(píng)論

若羌县| 大连市| 镇安县| 永康市| 忻州市| 保定市| 称多县| 江源县| 曲麻莱县| 富锦市| 饶平县| 图木舒克市| 正蓝旗| 屏东县| 托克逊县| 忻城县| 泗阳县| 灌云县| 白城市| 呈贡县| 阿巴嘎旗| 博兴县| 呼和浩特市| 城口县| 溧阳市| 汨罗市| 叶城县| 红河县| 陈巴尔虎旗| 星子县| 黄石市| 安新县| 邵阳市| 泊头市| 岱山县| 平江县| 承德县| 凤翔县| 平潭县| 渝中区| 大埔县|