美文网首页
vue网格拖拽排序

vue网格拖拽排序

作者: 小小少年小阿清 | 来源:发表于2019-10-10 16:57 被阅读0次
demo

上图是网格拖拽排序的效果图,如果在你的项目中也有这样的需求,那么不妨来看看如何实现。

vue-slicksort:是一个功能强大的可拖拽的vue.js组件。 它可以自动滚动,锁定坐标系。支持拖拽时,流畅的动画效果。可以支持水平,垂直或者网格的拖拽。支持触摸。

安装

npm或yarn安装都可

$ npm install vue-slicksort --save
或
$ yarn add vue-slicksort

使用

引入

import { SlickList, SlickItem } from 'vue-slicksort'
export default {
  components: {
    SlickList,
    SlickItem,
  },
  data () {
    return {
      commonsApplication: []
    }
  }
}

使用(部分代码片段)

  <SlickList :lockToContainerEdges="true"
                    :pressDelay="300"
                    v-model="commonsApplication"
                    helperClass="helperClass"
                    class="ul"
                    axis="xy">
                    <SlickItem
                      v-for="(item,index) in commonsApplication"
                      :index="index"
                      :key="index+'key'"
                      class="li">
                      <div :class="{'add-border':isEditMenus}" class="app-border" @click="toApp(item)">
                        <img :src="item.menuIcon" class="app-icon">
                        <p>{{ item.menuName }}</p>
                        <img
                          v-if="isEditMenus"
                          src="@/assets/newIcon/deleteMenus.svg"
                          alt="删除应用"
                          class="delete-app"
                          @click.stop="deleteApp(item,index)">
                      </div>
                    </SlickItem>
                  </SlickList>
                  <div class="notice">以上应用展示在首页</div>

自定义样式(部分代码片段)

 .ul{
            display: flex;
            flex-wrap: wrap;
            text-align: center;
            padding-bottom:18px;
            .li{
              width: 25%;
              margin: 5px 0px;
              padding:0 4px;
              .add-border{
                border: 1px solid #E2E3E7 !important;
              }
              .app-border{
                z-index:99999!important;
                box-sizing: border-box;
                border-radius: 8px;
                position:relative;
                padding:5px;
                .app-icon{
                  width: 48px;
                  height: 48px;
                }
              }
            }
          }

参数说明

要想得到你想要的样式,要注意在SlickList和SlickItem上添加你定义的class,可以直接将二者当成两个div。

参数说明
关于拖拽组件的其他参数和方法说明,大家可参考 vue-slicksort

有问题,大家可留言一起交流。

相关文章

  • vue网格拖拽排序

    上图是网格拖拽排序的效果图,如果在你的项目中也有这样的需求,那么不妨来看看如何实现。 技术框架:vue.js 拖拽...

  • vue拖拽改变排序

    vue拖拽改变排序 ··· expo...

  • vue,iview遇到的问题(1)

    1 vue draggable 火狐拖拽搜索问题使用vue-draggable做字段拖拽排序,在谷歌浏览器上是没有...

  • Recyclerview实现网格拖拽排序

    门禁列表拖拽排序 需求: 前两行是常用门禁,黄色显示,之后是普通门,白色显示。长按住一个门时,除了被按住的门,其他...

  • Vue拖拽排序

    Awe-dnd Awe-dnd:一个轻量的 Vue 拖动排序插件,可使您的元素在 Vue 中可拖动。 demo 示...

  • Vue拖拽排序

    先看看官网demohttps://raw.githubusercontent.com/SortableJS/Vue...

  • 实现recycleview水平拖拽排序

    今天我面试,面试官给了我一个需求,就是实现视频帧列表拖拽排序,网上的都是网格排序啊,或者垂直排序,也没有什么水平排...

  • Vue element 表格拖拽排序

    Vue element 表格拖拽排序 代码实现:1.安装sortablejs 2.引入sortablejs 3....

  • iOS collectionView拖拽排序

    iOS collectionView拖拽排序 iOS collectionView拖拽排序

  • source code:TableviewGroup阴影加圆角

    长按拖拽排序(上传者:yeliang_new)长按拖拽排序,拖拽排序。拖拽排序是新闻类的App可以说是必有的交互设...

网友评论

      本文标题:vue网格拖拽排序

      本文链接:https://www.haomeiwen.com/subject/bkeapctx.html