中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

element中el-table局部刷新怎么實現

發布時間:2023-04-28 11:17:05 來源:億速云 閱讀:321 作者:iii 欄目:開發技術

這篇文章主要介紹“element中el-table局部刷新怎么實現”,在日常操作中,相信很多人在element中el-table局部刷新怎么實現問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”element中el-table局部刷新怎么實現”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

介紹:有一個簡單的需求,一個表格點擊一個單元格的按鈕后,按鈕變成進度條。

問題:如果只是用一個變量,然后配合v-if使用,一整列都會變成進度條。

想法:把那個變量渲染進去列表的每一行。但是…問題又出現了,值變了,但是表格沒有被重新渲染。

重點:this.$set(this.tableData, index, row),更新表格這一行的值。理解這句代碼的意思,后面的可以不看。

隨便放點前端代碼就很長了,不放又清除概況,簡單看看吧。直接看el-progress那個標簽的附近的,其他的瞅一下知道大概就好。

<el-table
              ref="theTable"
              :data="tableData.filter(data => !search || data.id.toLowerCase().includes(search.toLowerCase()))"
              class="content-datasheet-table"
              :cell-
            >
              <el-table-column label="開關名稱" prop="name" width="100px" align="center"> </el-table-column>
              <el-table-column label="開關ID" prop="sensorId" width="100px" align="center"> </el-table-column>
              <el-table-column label="電壓值(V)" prop="voltage" width="100px" align="center"> </el-table-column>
              <el-table-column label="電流值(A)" prop="current" width="100px" align="center"> </el-table-column>
              <el-table-column label="功率值(W)" prop="power" width="100px" align="center"> </el-table-column>
              <el-table-column label="狀態圖" align="center">
                <!-- eslint-disable-next-line -->
                <template slot-scope="scope">
                  <viewer  rotateTo="-90">
                    <img :src="viewPicture(scope.row)" min-width="70" height="70" :key="scope.$index" />
                  </viewer>
                </template>
              </el-table-column>
              <el-table-column label="刷新時間" prop="statusTime" width="160px" align="center"> </el-table-column>
              <el-table-column label="操作" align="center">
                <template slot-scope="scope">
                  <el-progress
                    v-if="scope.row.progressBar"
                    :text-inside="true"
                    :stroke-width="18"
                    :percentage="scope.row.speed"
                    status="success"
                  ></el-progress>
                  <el-button size="mini" v-else @click="updateConfirm(scope.$index, scope.row)">獲取最新狀態</el-button>
                </template>
              </el-table-column>
              <el-table-column align="right">
                <!-- eslint-disable-next-line -->
                <template slot="header" slot-scope="scope">
                  <el-input v-model="search" size="medium" clearable placeholder="輸入開關ID搜索" />
                </template>
                <template slot-scope="scope">
                  <el-switch
                    v-model="scope.row.status"
                    active-color="#2d8cf0"
                    nactive-color="#ff4949"
                    :active-value="true"
                    :inactive-value="false"
                    active-text="閉合"
                    inactive-text="斷開"
                    @change="switchConfirm(scope.row.status, scope.row.sensorId)"
                  />
                </template>
              </el-table-column>
            </el-table>

前端頁面顯示圖:點擊獲取最新狀態之后,獲取變成進度條,開始跑進度。

element中el-table局部刷新怎么實現

    // 更新當前某個開關的最新狀態
    handlePicture(index, row) {
      let params = "sensor_id=" + row.sensorId;
      this.progressSpeed(index, row);
      newestStatus(params).then(res => {
        row.speed = 100;
        this.$set(this.tableData, index, row);
        setTimeout(() => {
          row.progressBar = false;
          this.switchData();
        }, 3000);
      });
    },
    // 進度條刷新
    progressSpeed(index, row) {
      row.speed = 0;
      row.progressBar = true;
      const sp = setInterval(() => {
        console.log();
        if (row.speed >= 99 ) {
          clearInterval(sp);
        } else {
         row.speed++; 
        }
        this.$set(this.tableData, index, row);
      }, 600);
    },

按鈕變成進度條,獲取最新數據,進度條到99的時候就卡住,信息返回后,進度條不管跑了都少都變成100,3S后變回原來的樣子。

到此,關于“element中el-table局部刷新怎么實現”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

康乐县| 定边县| 会同县| 加查县| 大洼县| 汽车| 普安县| 台南县| 和平区| 微博| 罗定市| 调兵山市| 汉沽区| 大足县| 土默特右旗| 砀山县| 家居| 贵溪市| 图们市| 航空| 天镇县| 东港市| 南靖县| 临清市| 涪陵区| 苍溪县| 桂林市| 许昌县| 湖北省| 衢州市| 扎赉特旗| 浙江省| 伊金霍洛旗| 福州市| 抚宁县| 碌曲县| 林州市| 泰顺县| 闽清县| 尼勒克县| 茂名市|