国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Vue實現table上下移動功能示例

2019-11-19 12:05:17
字體:
來源:轉載
供稿:網友

本文實例講述了Vue實現table上下移動功能。分享給大家供大家參考,具體如下:

結合Element組件,scope中有三個參數(row,cow,$index)分別表示行內容、列內容、以及此行索引值,

table上綁定數組 :data="tableList"

<el-table :data="tableList"></el-table>

添加一列,里面放上上移和下調兩個按鈕,并綁定上函數,將此行的索引值(scope.$index)作為參數,樣式根據需求自己調整:

<el-button icon="el-icon-arrow-up" :disabled="scope.$index === 0" @click="upFieldOrder(scope.$index)"></el-button><el-button icon="el-icon-arrow-down" :disabled="scope.$index === tableList.length - 1" @click="downFieldOrder(scope.$index)"></el-button>

直接使用下面這種方式是錯誤的,雖然tableList的值變了,但是不會觸發視圖的更新:

upFieldOrder (index) {  let temp = this.tableList[index-1];  this.tableList[index-1] = this.tableList[index]  this.tableList[index] = temp },

正確的上移函數:

upFieldOrder (index) {  let temp = this.tableList[index-1];  Vue.set(this.tableList, index-1, this.tableList[index])  Vue.set(this.tableList, index, temp) },

同理,下移函數如下:

downFieldOrder (index) {  let i = this.tableList[index+1];  Vue.set(this.tableList, index+1, this.tableList[index])  Vue.set(this.tableList, index, i) }

如此,前端的調整table順序功能便做好了,我不是在每一次點擊都與后臺交互傳入新Order,在頁面銷毀時,一并提交:

destroyed() { let param = {  infos: [] } this.tableList.forEach((dataItem,index) => {  param.infos.push({  參數1: dataItem.值1,  參數1: dataItem.值2,  參數順序: index  }) }); // 調用后臺,并傳入 param changeTableOrder(param).then(res => {  if(res.success=== true) { alert('順序調整成功')  } }) }

希望本文所述對大家vue.js程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景宁| 平顺县| 平顶山市| 台北市| 铁力市| 明星| 台前县| 黄骅市| 娄底市| 团风县| 弋阳县| 静宁县| 开原市| 新河县| 兴山县| 淮安市| 囊谦县| 康保县| 偃师市| 玉屏| 达拉特旗| 聊城市| 南城县| 吉木乃县| 株洲县| 嘉定区| 阿拉善盟| 慈利县| 益阳市| 元阳县| 尖扎县| 武穴市| 南丰县| 樟树市| 元江| 岐山县| 策勒县| 边坝县| 嘉峪关市| 延寿县| 南康市|