前端实现置顶、排序、显示序号功能

数组置顶

获取要置顶元素的索引 index, 删除当前元素,并在原数组前面加上该数组

css 复制代码
let arr = ['a','b','c','d','e','f','g']
arr.unshift(arr.splice(3,1)[0]) // 置顶索引为3的'd'
console.log(arr) // ["d", "a", "b", "c", "e", "f", "g"]

列表排序

效果是更改排序,实则是交换相邻两个元素的位置

ini 复制代码
<!-- 向下箭头 -->
<i class="el-icon-bottom"
  v-show="scope.$index !== list.length-1"
  @click="chgOrder(scope, 'down', 'doctor', list)">
</i>
<!-- 向上箭头 -->
<i class="el-icon-top"
  v-show="scope.$index !== 0"
  @click="chgOrder(scope, 'up', 'doctor', list)">
</i>

/**
 * 更改排序 
 * @val -> 'up'/'down' 上窜下移; 
 * @tableData 列表数据
 */
chgOrder({ $index, row }, val, tableData) {
  let secondIndex = null
  if (val === 'down' && $index < tableData.length-1) {
    // 往下窜
    secondIndex = $index + 1
  } else if (val === 'up' && $index > 0) {
    // 往上移
    secondIndex = $index - 1
  }
  [tableData[$index], tableData[secondIndex]] = [tableData[secondIndex], tableData[$index]]
  this.list = [...tableData]
},

列表序号

element-ui <el-table>

ini 复制代码
<el-table-column label="序号" align="center" width="55" fixed>
  <template slot-scope="scope">{{scope.$index+1}}</template>
</el-table-column>
相关推荐
We་ct2 小时前
LeetCode 77. 组合:DFS回溯+剪枝,高效求解组合问题
开发语言·前端·算法·leetcode·typescript·深度优先·剪枝
KerwinChou_CN2 小时前
什么是流式输出,后端怎么生成,前端怎么渲染
前端
爱上妖精的尾巴2 小时前
8-18 WPS JS宏 正则表达式-边界匹配
开发语言·javascript·正则表达式·wps·jsa
爱上妖精的尾巴2 小时前
8-20 WPS JS宏 正则表达式-懒惰匹配
服务器·前端·javascript
网络点点滴2 小时前
组件通信props方式
前端·javascript·vue.js
二十雨辰2 小时前
[小结]-线上Bug监控
前端·bug
前端技术2 小时前
【鸿蒙实战】从零打造智能物联网家居控制系统:HarmonyOS Next分布式能力的完美诠释
java·前端·人工智能·分布式·物联网·前端框架·harmonyos
CHU7290352 小时前
指尖践行环保——旧衣服回收小程序前端功能玩法详解
前端·小程序
weixin_443478512 小时前
flutter组件学习之Flex / Expanded弹性布局组件
javascript·学习·flutter
LawrenceLan2 小时前
38.Flutter 零基础入门(三十八):网络请求实战 http、dio —— 获取列表与刷新 UI
开发语言·前端·flutter·dart