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

wordpress产品页名称seo运营经理

wordpress产品页名称,seo运营经理,宣城有做网站的公司吗,广东哪家网站建设哪家公司好前言 这两天遇到一个需求:在点击【设置优先级】的按钮后弹出关于玩法类型的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.yidumall.com/news/38256.html

相关文章:

  • 网页设计自我介绍模板代码福州seo推广服务
  • 沈阳开发网站公司seo提升排名
  • 荣茂网站建设济南网站推广优化
  • 柳州城市的城乡建设管理局网站seo团队管理系统
  • php网站免费模板seo自动发布外链工具
  • 如何把网站做的和别人一样永久域名查询
  • 网站专题制作流程英语培训
  • 一级a做爰小说免费网站google官方下载app
  • python做网站有优势网络销售怎么聊客户
  • 做的新网站到首页又下去了成都百度搜索排名优化
  • 济南建公司网站简短的软文范例
  • 抖音seo排名源码无锡seo网站管理
  • 网站如何做公安部备案seo怎么做教程
  • html制作旅游景点网页合肥seo网站管理
  • 哪家高端网站建设好国产免费crm系统有哪些在线
  • 商用营销型网站建设优化建站软文代发布
  • 企业网站模板 css网址收录网站
  • 网站建设收益分析做seo需要投入的成本
  • 临港注册公司优惠政策seo双标题软件
  • 列举一个网络营销的案例刷移动关键词优化
  • 北京网站建设好吗河南网站优化
  • 做游戏课程网站seo排名优化教学
  • 车牌照丢失能在网站做吗自媒体发布平台有哪些
  • 网站备案号代码网店推广运营策略
  • 德保网站建设深圳网络营销信息推荐
  • 九江做网站的公司大数据营销案例分析
  • 垂直网站做排名企业网站优化技巧
  • 做网站的分辨率是72吗网络加速器
  • wordpress安装详细整站优化和关键词优化的区别
  • 注册域名 不建网站seo百科大全