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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:42:13
字體:
來源:轉載
供稿:網友

本文實例講述了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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 武胜县| 攀枝花市| 新干县| 崇左市| 泰安市| 文昌市| 长治市| 基隆市| 西宁市| 阿拉善右旗| 吉安市| 玉门市| 延吉市| 崇州市| 淳安县| 平乐县| 莎车县| 襄垣县| 长治县| 南和县| 运城市| 诸暨市| 勐海县| 琼海市| 晋中市| 峨眉山市| 嘉善县| 静安区| 泰顺县| 昌都县| 晋州市| 望城县| 城固县| 长子县| 文登市| 绍兴市| 嘉峪关市| 定边县| 莆田市| 新民市| 博客|