首页 > 其他分享 >vue+el实现table中行的上移和下移

vue+el实现table中行的上移和下移

时间:2023-02-16 10:56:30浏览次数:50  
标签:el vue console log index value feeRuleTableData table row

 

  <el-table-column :label="" fixed="right" align="center" width="280">
                      <template #default="scope">
                        <el-icon  :size="20" style="margin-left:20px;" @click="handleSortUp(scope.$index,scope.row)" v-if="scope.$index!=0" >
                          <i-top color="#409eff"/>
                        </el-icon>
                        <el-icon  :size="20" style="margin-left:20px;" @click="handleSortDown(scope.$index,scope.row)" v-if="scope.$index!=(feeRuleTableData.length-1)" >
                          <i-bottom color="#409eff" />
                        </el-icon>
                        <el-icon :size="20" style="margin-left:20px;" @click="handleDelRuleId(scope.$index,scope.row)">
                        <i-delete  color="#409eff"/>
                        </el-icon>          
                      </template>
                    </el-table-column>
                    
export default defineComponent({
 setup(props, ctx) {                    
    let feeRuleTableData=ref([])

 const handleSortUp= (index,row) => {
      console.log('上移',index,row);
      console.log(feeRuleTableData.value[index]);
      if (index > 0) {
          let upDate = feeRuleTableData.value[index - 1];
          feeRuleTableData.value.splice(index - 1, 1);
          feeRuleTableData.value.splice(index,0, upDate);
          form.value.feeRuleIdList= feeRuleTableData.value.map(item=>item.ruleId).join('|')
      } else {
        //alert('已经是第一条,不可上移');
      }
    }
    const handleSortDown= (index,row) => {
      console.log('下移',index,row);
      console.log(feeRuleTableData.value[index]);
      if ((index + 1) === feeRuleTableData.value.length){
        //alert('已经是最后一条,不可下移');
      } else {
        let downDate = feeRuleTableData.value[index + 1];
        feeRuleTableData.value.splice(index + 1, 1);
        feeRuleTableData.value.splice(index,0, downDate);
        form.value.feeRuleIdList= feeRuleTableData.value.map(item=>item.ruleId).join('|')
      }
    }
     return {
     feeRuleTableData,
     handleSortUp,
     handleSortDown
     }
     })
 

 

标签:el,vue,console,log,index,value,feeRuleTableData,table,row
From: https://www.cnblogs.com/zhian/p/17125927.html

相关文章

  • vue标记出文本中的超链接并可以点击跳转
    <pv-html="translateHtml(item.message)"></p>methods:{//给字符串中的链接用span标签包裹起来,实现点击跳转translateHtml(msg){varreg=......
  • vue3+jsx+antd项目,ant design vue组件中日期组件的自定义格式
    目标效果实际效果关键代码,直接从react版本的antd复制的代码,并修改了,current加上了moment(current)<DatePickerdateRender={current=>{conststyle......
  • python-pandas提取网页内tables(表格类型)数据
    比如,下面网页里大学排行的数据 分析这个页面,表格内的数据是包裹在tables里的  这样就可以使用pandas对数据进行提取并且导出成csv文件,具体代码很简单 import......
  • Vue 路由跳转设置不刷新
    一、问题描述在某些情况下,vue项目前端有些情况下需要设置路由跳转,页面不刷新,比如:前进导航刷新页面,后退不刷新,page1-->page2-->page3,每次前进到一个新页面都需要获取数......
  • Vite创建Vue3项目识别 ../ 与 @/ 引入路径失效解决方案
    Vite创建Vue3项目识别../与@/引入路径 在使用vite脚手架生成项目时,会出现一些引入路径失败的错误例子:router中用component引入路径时引入../路径失败找不......
  • iview 踩坑 分页 Page modelValue
    分页组件对应的当前页的字段不能用V-model也不能value也不能用官网文档中的modelValue,应该用current我说实话,iview是真的坑<Page@on-change="runPage"......
  • 如何使用Xshell巧妙的连接服务器
    最近一直在想到底写那些技术性文章,正好我之前买的一台服务器还没怎么使用,所以准备打算出一期在Xshell上使用服务器的教程的。首先,为什么要使用Xshell连接云服务器呢?1、......
  • 基础-Linux的netfilter和iptables
    iptables是什么?你为啥要学?Linux的网络控制模块在内核中,叫做netfilter。而iptables是位于用户空间的一个命令行工具,它作用在OIS7层网络模型中的第四层,用来和内核的netfilte......
  • element + vue 实现背景图片设置
    <template><div><el-row><el-col:span="3"><el-uploadaction="#"list-type="picture-card":file-list="file......
  • Pinely Round 1 (Div. 1 + Div. 2)--D
    D.CarryBit思路首先时分堆,也就是把小球放进盒子的问题,然后进行讨论代码#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#definelllonglon......