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

数组置顶

获取要置顶元素的索引 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>
相关推荐
专注API从业者1 小时前
Python + 淘宝 API 开发:自动化采集商品数据的完整流程
大数据·运维·前端·数据挖掘·自动化
你的人类朋友2 小时前
【Node&Vue】JS是编译型语言还是解释型语言?
javascript·node.js·编程语言
烛阴2 小时前
TypeScript高手密技:解密类型断言、非空断言与 `const` 断言
前端·javascript·typescript
样子20183 小时前
Uniapp 之renderjs解决swiper+多个video卡顿问题
前端·javascript·css·uni-app·html
Nicholas683 小时前
flutterAppBar之SystemUiOverlayStyle源码解析(一)
前端
黑客飓风3 小时前
JavaScript 性能优化实战大纲
前端·javascript·性能优化
emojiwoo5 小时前
【前端基础知识系列六】React 项目基本框架及常见文件夹作用总结(图文版)
前端·react.js·前端框架
张人玉5 小时前
XML 序列化与操作详解笔记
xml·前端·笔记
杨荧5 小时前
基于Python的宠物服务管理系统 Python+Django+Vue.js
大数据·前端·vue.js·爬虫·python·信息可视化
YeeWang6 小时前
🎉 Eficy 让你的 Cherry Studio 直接生成可预览的 React 页面
前端·javascript