当前位置: 首页 > news >正文

咸阳专业网站建设网站开发公司怎么能接到单子

咸阳专业网站建设,网站开发公司怎么能接到单子,wordpress 更新feed,可以做长页海报的网站前言 这两天遇到一个需求:在点击【设置优先级】的按钮后弹出关于玩法类型的table,点击【排序】按钮可以后可以进行排序。由于组内使用的组件库是 element-ui,那我首先就想到了使用 el-table组件,但奈何其版本原因不能相应的拖拽排…

前言

这两天遇到一个需求:在点击【设置优先级】的按钮后弹出关于玩法类型的table,点击【排序】按钮可以后可以进行排序。由于组内使用的组件库是 element-ui,那我首先就想到了使用 el-table组件,但奈何其版本原因不能相应的拖拽排序的API。了解到有sortable.js。接下来我就以Vue+el-table+sortable 为例看看我是怎么实现这个需求的。

在这里插入图片描述

实现思路

从官网的 demo 以及其他文章的操作中基本上实现过程如下:

const tableData = []const _this = thissetTimeout(()=>{Sortable.create(el, {onEnd:function (evt){// evt 可以获取到拖拽 DOM 在拖拽之前和拖拽之后的 index// 利用这个参数就可以对table中的列表排序const list = tableData; // 备份 table 中的数据const currRow = list.splice(evt.oldIndex, 1)[0]; // 获取当前被拖拽的数据list.splice(evt.newIndex, 0, currRow); // 将拖拽的数据从数组中拿出来并插入到新的位置tableData = [] // 置空 table 中的数据nextTick(()=>{tableData = list // 将最新的数据给table})}})
})

但我在实现过程有遇到几个问题。首先,直接如上所示拖拽功能是没问题的,但是在排序的时候如果不加 nextTicke 那么就会出现你明明只将最后一条数据拖拽到第一行,却出现最后两行出现在了最前面…另外,这里使用 setTimeout是为了确保能拿到DOM,毕竟弹窗时不一定能拿到 table DOM。

源码

由于我是两个table,所以使用了 el-tabs,tab切换时会更新 activeName

  function initSort() {const _this = thissetTimeout(() => {const parentEle = _this.$refs.playTypeTabsRefconst tab1 = parentEle .children[0].querySelectorAll('.el-table__body-wrapper > table > tbody')[0]const tab2 = parentEle .children[1].querySelectorAll('.el-table__body-wrapper > table > tbody')[0]const targetTab = this.activeName === 'playType' ? tab1 : tab2const createSortable = () => {Sortable.create(targetTab, {animation: 150,// ghostClass: 'blue-background-class',// handle: 'handle',draggable: '.el-table__row',onEnd: function(evt) {const list: (IPlayTypeItem | ISubPlayTypeItem)[] = _this.activeName === 'playType' ? _this.playTypeList : _this.subPlayTypeListconst currRow: IPlayTypeItem | ISubPlayTypeItem = list.splice(evt.oldIndex, 1)[0]list.splice(evt.newIndex, 0, currRow)_this.activeName === 'playType' ? _this.playTypeList = [] : _this.subPlayTypeList = []_this.$nextTick(() => {if (_this.activeName === 'playType') {_this.playTypeList = list as IPlayTypeItem[]} else {_this.subPlayTypeList = list as ISubPlayTypeItem[]}})}})}createSortable()}, 0)}
http://www.yayakq.cn/news/670538/

相关文章:

  • 自己做的网站别人查看今天的新闻发布会
  • 新浪微博 ssc网站建设wordpress熊掌号推送
  • 甘肃做高端网站阿里云购买域名后怎么建网站
  • 怎样建网站邢台外贸类网站
  • 网站上传附件目录格式怎样做公司网站建设
  • 房产中介做网站wordpress 浏览人数
  • 邯郸市网络建站网站建设功能模块
  • 农业特色网站建设wordpress首页登陆
  • 公司网站后如何更新唱片公司网站模板
  • 增城网站怎么做seo最吉祥的公司名字大全
  • 静态网站怎么维护搭建企业网站
  • 专做校园购物网站网站建设的入门书籍
  • 压缩图片在线网站免费wordpress编辑器百度云
  • 网站建设淄博做旅游网站都需要的调查
  • 自己做的网站怎么设置文件下载免费网站后台管理系统
  • 一个公司如何做多个网站备案深圳网站建设哪个公司好
  • 企业宣传网站方案微信被不明android账号登录
  • 专业教学资源库网站建设工作你建立的网站使用了那些营销方法
  • 湖南对外建设集团网站免费注册发布信息网站
  • ASP网站建设实训报告总结定制开发erp系统
  • 制作网页网站的软件重庆住房和城乡建设厅网站
  • 网站建设汇报 安全保障做一个平面网站的成本
  • 欣宝儿在什么网站做直播wordpress数据库配置文件路径
  • 别人盗用我的网站备案号怎么办网站编辑的工作内容
  • 网站制作工作室专业公司一家专门做灯的网站
  • 中国公司网站建设方案多页网站模板
  • 建立网站需要多少钱多少钱28湖南岚鸿给网站加个地图的代码
  • 提取网站子页面邮箱公司的网站是什么
  • 网站建设前台后台教程百度指数分析数据
  • 上海网站架设淄博安监局网站两体系建设