国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

隨手記:使用sortable.js 實(shí)現(xiàn)element-ui el-table 表格上下拖拽排序

這篇具有很好參考價(jià)值的文章主要介紹了隨手記:使用sortable.js 實(shí)現(xiàn)element-ui el-table 表格上下拖拽排序。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

需求場(chǎng)景:
表格可以實(shí)現(xiàn)上下拖拽row實(shí)現(xiàn)新排序

首先,安裝sortable.js

npm install sortablejs --save

?引入表格排?

// 引入表格排序
import Sortable from 'sortablejs';

全局掛在組件

Vue.component('Sortable', Sortable)

使用頁(yè)面引入

 import Sortable from 'sortablejs'

使用sortable.js表格一定要有唯一的row-key,一般綁定的是id,不然拖拽會(huì)不生效

data聲明
sortableContainer: null,為的是后面如果有需要可以做銷毀操作
?

因?yàn)槲疫@里是表格組件,所以有些需要自己適當(dāng)調(diào)整一下

      created(){
        this.getSortTableData();
      },

    // 更新表格
    getSortTableData() {
      this.$nextTick(()=>{
        setTimeout(() => {
          if(this.isSortTable) {
            let tableStyle =  document.querySelector(`#${this.tableId} .el-table`);
            tableStyle.style.cursor = 'pointer';
            this.rowDrop();
          }
        }, 500)
      })
    },

        // 行拖拽
    rowDrop() {
      console.log('行拖拽啟動(dòng)成功');
      // 拖拽必須給對(duì)應(yīng)表格一個(gè)唯一的樣式id值
      const tbody = document.querySelector(`#${this.tableId} .el-table__body-wrapper tbody`);
      console.log('tbody', tbody)
      const that = this;
      this.sortableContainer = Sortable.create(tbody, {
        forceFallback:true,
        animation: 150,
        dragClass: 'dragClass',
        chosenClass: 'chosenClass',
        ghostClass: "ghostClass",
        // 結(jié)束拖拽后的回調(diào)函數(shù)
        onEnd({ newIndex, oldIndex }) {
          console.log('拖動(dòng)了行,序號(hào)(index)"'+ oldIndex + '"拖動(dòng)到序號(hào)(index)"' + newIndex+'"');
          // 將oldIndex位置的數(shù)據(jù)刪除并取出,oldIndex后面位置的數(shù)據(jù)會(huì)依次前移一位
          const currentRow = that.tableData.splice(oldIndex, 1)[0]; 
          console.log('currentRow', currentRow)
          // 將被刪除元素插入到新位置(currRow表示上面的被刪除數(shù)據(jù))
          that.tableData.splice(newIndex, 0, currentRow); 
          console.log("拖動(dòng)后的新數(shù)組:", that.tableData)
          // 拖拽結(jié)束后的回調(diào)函數(shù)
          let params = {
            // 拖動(dòng)后的新序號(hào)
            newIndex,
            // 拖動(dòng)了哪個(gè)序號(hào)
            oldIndex,
            // 當(dāng)前行
            currentRow,
            // 拖動(dòng)后的新數(shù)組
            tableData: that.tableData
          }
          that.$emit('sortableRowDrop', params);
        }
      })
    },

        // 銷毀拖拽
    destroySortTableData() {
      this.sortableContainer.destroy();
      let tableStyle =  document.querySelector(`#${this.tableId} .el-table`);
      tableStyle.style.cursor = 'default';
      console.log('銷毀拖拽')
    },

編輯文章實(shí)屬不易,如有幫助請(qǐng)點(diǎn)贊收藏~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-836416.html

到了這里,關(guān)于隨手記:使用sortable.js 實(shí)現(xiàn)element-ui el-table 表格上下拖拽排序的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Element-ui中表格el-table圖片預(yù)覽效果實(shí)現(xiàn)(非常實(shí)用)

    Element-ui中表格el-table圖片預(yù)覽效果實(shí)現(xiàn)(非常實(shí)用)

    ??作者:計(jì)算機(jī)編程-吉哥 ??簡(jiǎn)介:專業(yè)從事JavaWeb程序開(kāi)發(fā),微信小程序開(kāi)發(fā),定制化項(xiàng)目、 源碼、代碼講解、文檔撰寫、ppt制作。做自己喜歡的事,生活就是快樂(lè)的。 ??心愿:點(diǎn)贊 ?? 收藏 ?評(píng)論??? ?? ?文末獲取源碼聯(lián)系 ??先展示效果:? ???使用的是下面這個(gè)插

    2024年02月11日
    瀏覽(35)
  • element-ui中的el-table實(shí)現(xiàn)分頁(yè)多選功能

    selection-change事件:當(dāng)選擇項(xiàng)發(fā)生變化時(shí)會(huì)觸發(fā)該事件(當(dāng)分頁(yè)切換時(shí),選中的數(shù)據(jù)都會(huì)自動(dòng)清空) 鏈接: https://blog.csdn.net/qq_36157085/article/details/122922678

    2024年02月17日
    瀏覽(21)
  • element-ui的table實(shí)現(xiàn)滾動(dòng)加載,涵el-table組件封裝一份

    element-ui的table實(shí)現(xiàn)滾動(dòng)加載,涵el-table組件封裝一份

    重點(diǎn)就是 a d d R o l l L i s t e n e r addRollListener a d d R o l l L i s t e n e r 函數(shù),想快點(diǎn)弄上去看效果的直接弄這個(gè)函數(shù)吧 如果不在mounted中則一定要this.$nextTick(() = this.addRollListener()) 示例代碼 如果你把上面的看過(guò)了;只需要在 a d d R o l l L i s t e n e r addRollListener a d d R o l l L i s t e

    2023年04月08日
    瀏覽(34)
  • element-ui中的el-table的summary-method(合計(jì))的使用

    element-ui中的el-table的summary-method(合計(jì))的使用

    圖片1: 圖片2: 優(yōu)點(diǎn): ????????直接使用summary-method方法,直接,方便 缺點(diǎn): ? ? ? ? 只是在表格下面添加了一行,如果想有多行就不行了 優(yōu)點(diǎn): ???????? 可以想表格下面添加多少行都行, 缺點(diǎn): ? ? ? ? 列表的序號(hào)會(huì)一直往下走

    2024年02月11日
    瀏覽(20)
  • 使用element-ui中的el-table回顯已選中數(shù)據(jù)時(shí)toggleRowSelection報(bào)錯(cuò)

    使用element-ui中的el-table回顯已選中數(shù)據(jù)時(shí)toggleRowSelection報(bào)錯(cuò)

    最近在寫一個(gè)后臺(tái),需要在表格中多選,然后點(diǎn)擊編輯按鈕的時(shí)候,需要回顯已經(jīng)選中的表單項(xiàng) 之前根據(jù)以上代碼,就可以實(shí)現(xiàn)回顯,但是這次沒(méi)有,還報(bào)了一個(gè)錯(cuò),報(bào)錯(cuò)如下 找了一下原因,這個(gè)回顯是一個(gè)彈框,我在剛進(jìn)頁(yè)面就走了這部分邏輯,相當(dāng)于在請(qǐng)求接口的時(shí)候

    2024年02月10日
    瀏覽(23)
  • vue中數(shù)據(jù)滾動(dòng)顯示 實(shí)現(xiàn)Element-UI中el-table內(nèi)數(shù)據(jù)的懶加載

    工作中我們經(jīng)常會(huì)用到element-ui組件庫(kù)中的le-table組件來(lái)展示數(shù)據(jù),但當(dāng)table的數(shù)據(jù)源數(shù)量過(guò)大的時(shí)候統(tǒng)一展示可能會(huì)出現(xiàn)頁(yè)面卡頓,且會(huì)影響用戶體驗(yàn),為此我們可以嘗試對(duì)el-table中的數(shù)據(jù)做懶加載的效果展示: 1. 掛在階段監(jiān)聽(tīng)el-table的scroll滾動(dòng)事件 2. 當(dāng)table表格滾動(dòng)條的位置

    2023年04月08日
    瀏覽(17)
  • 【element-ui】使用el-checkbox完成el-table表格數(shù)據(jù)的全選操作

    【element-ui】使用el-checkbox完成el-table表格數(shù)據(jù)的全選操作

    需求:表格有一列為勾選框列,表格下面有單獨(dú)的按鈕本頁(yè)勾選和全部勾選,跨頁(yè)狀態(tài)可以保存回顯,如下圖所示: 思路:使用一個(gè)數(shù)組[]存儲(chǔ)每一頁(yè)是否全選的狀態(tài),再使用{}來(lái)存儲(chǔ)數(shù)據(jù)的所有選中狀態(tài),其中key為對(duì)應(yīng)的頁(yè)碼,value為每一頁(yè)的選中數(shù)據(jù)【核心?】 1、el-tab

    2024年02月11日
    瀏覽(28)
  • 【vue】element-ui、el-table使用V-for循環(huán)動(dòng)態(tài)添加表頭和數(shù)據(jù)

    【vue】element-ui、el-table使用V-for循環(huán)動(dòng)態(tài)添加表頭和數(shù)據(jù)

    參考鏈接 https://blog.csdn.net/xz1589155358/article/details/126597271

    2024年02月11日
    瀏覽(28)
  • element-ui中使用el-table ,el-table-column循環(huán)列發(fā)現(xiàn)列錯(cuò)亂解決方法

    element-ui中使用el-table ,el-table-column循環(huán)列發(fā)現(xiàn)列錯(cuò)亂解決方法

    由于 需要?jiǎng)討B(tài)循環(huán)列展示表格 而不得不 套一層div 標(biāo)簽時(shí)會(huì)造成表格列錯(cuò)亂的想象,這是因?yàn)閑l-table中不允許有除el-table-column標(biāo)簽以外的元素。 1、 或許你可以試試使用template 標(biāo)簽包裹 2、把div標(biāo)簽刪了,不用它包裹 3、再循環(huán)前多加一行寬度為1的列 el-table-column 前面的兩種方

    2024年02月11日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包