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

数组置顶

获取要置顶元素的索引 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>
相关推荐
BillKu44 分钟前
Vue3 Element Plus 对话框加载实现
javascript·vue.js·elementui
郝YH是人间理想1 小时前
系统架构设计师案例分析题——web篇
前端·软件工程
Evaporator Core1 小时前
深入探索:Core Web Vitals 进阶优化与新兴指标
前端·windows
初遇你时动了情2 小时前
html js 原生实现web组件、web公共组件、template模版插槽
前端·javascript·html
QQ2740287562 小时前
Soundness Gitpod 部署教程
linux·运维·服务器·前端·chrome·web3
前端小崔2 小时前
从零开始学习three.js(18):一文详解three.js中的着色器Shader
前端·javascript·学习·3d·webgl·数据可视化·着色器
哎呦你好2 小时前
HTML 表格与div深度解析区别及常见误区
前端·html
运维@小兵2 小时前
vue配置子路由,实现点击左侧菜单,内容区域显示不同的内容
前端·javascript·vue.js
koiy.cc3 小时前
记录:echarts实现tooltip的某个数据常显和恢复
前端·echarts
一只专注api接口开发的技术猿3 小时前
企业级电商数据对接:1688 商品详情 API 接口开发与优化实践
大数据·前端·爬虫