IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue结合iView实现table的数据上下移操作并给选中行添加颜色 -> 正文阅读

[JavaScript知识库]Vue结合iView实现table的数据上下移操作并给选中行添加颜色

Vue结合iView实现table的数据上下移操作并给选中行添加颜色

说明

Vue结合iView的table组件,实现table的数据上下移动操作。并给table选中行添加颜色

实现table行选中的效果,需要定义highlight-row,并通过row-class-name为选中的行添加上自己定义好的样式名。

列表项上下移动参考来源于Vue实现table列表项上下移动

相关属性方法解释

来源于官网
请添加图片描述

代码如下

<template>
  <div class="demo-split">
    <div class="right-content-left">
   <Table
     :columns="columns"
     :data="tableData"
     highlight-row
     height="350px"
     :row-class-name="rowName"
     @on-row-click="selectChange"
   \></Table>
  </div>
    <div class="right-content-right">
   <Button class="leftBtn" @click="moveUp">上移(U)</Button>
   <Button class="leftBtn" @click="moveDown">下移(W)</Button>
   <Button class="leftBtn" @click="deleteCol">删除(D)</Button>
  </div>
 </div>
</template>
<script>
export default {
 data() {
  return {
   leftWidth: 1,
   topHeight: 2,
   split1: 0.5,
   rowvalue: null,
   index: null,
   treeIndex: null,
   treeRowValue: null,
   columns: [
     {
      title: "物品",
      key: "title",
     },
     {
      title: "价格",
      key: "value",
     },
   ],
   tableData: [
     {
      title: "薯片",
      value: 5,
     },
     {
      title: "零食大礼包",
      value: 45,
     },
     {
      title: "可口可乐",
      value: 6,
     },
     {
     title: "苹果手机",
      value: 5000,
     },
     {
      title: "香水",
      value: 300,
     },
   ],
  };
 },
 methods: {
  //上移
  moveUp() {
   if (this.treeIndex && this.treeIndex != 0) {
     let temp = this.tableData[this.treeIndex - 1];
     this.$set(this.tableData, this.treeIndex - 1, this.tableData[this.treeIndex]);
     this.$set(this.tableData, this.treeIndex, temp);
     this.treeIndex--;
   }
  },
      
  //下移
  moveDown() {
   if (this.treeIndex != null && this.treeIndex != this.tableData.length - 1) {
     let temp = this.tableData[this.treeIndex + 1];
     this.$set(this.tableData, this.treeIndex + 1, this.tableData[this.treeIndex]);
     this.$set(this.tableData, this.treeIndex, temp);
     this.treeIndex++;
   }
  },

  //删除
  deleteCol() {
   this.$delete(this.tableData, this.treeIndex);
   this.treeIndex = null;
  },

  //表格行选中
  selectChange(value, index) {
   this.treeRowValue = value;
   this.treeIndex = index;
   this.schemaName = value.title;
  },

  //类名选中颜色改变
  rowName(row, index) {
   if (index == this.treeIndex) {
     return "hightColorRow";
   }
  },
 },
};

</script>

<style>
.demo-split {
 height: 400px;
 border: 1px solid #dcdee2;
}

.demo-split-pane {
 padding: 10px;
}


.ivu-table-tbody .ivu-table-row.hightColorRow td {
 background-color: #b8d9fd;
}

</style>


  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章           查看所有文章
加:2021-07-24 23:56:02  更:2021-07-24 23:57:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/2 12:27:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码