uni-app 集成 vuedraggable 实现拖拽排序

发布于 1周前 作者 bupafengyu 来自 Uni-App

uni-app 集成 vuedraggable 实现拖拽排序

目前vuedraggable不支持uniapp, 希望有大神可以改写

19 回复

https://ext.dcloud.net.cn/plugin?id=582 来吧自己动手丰衣足食,我改了那个大佬的 可以上下左右拖拽


你这个在模拟器上跑的很好,到真机调试的时候卡的不得了,用不了

插件市场搜 drag,很多

这个无法做到左右拖拽排序,我需要上下左右都可以排序

回复 李钊: 你的上下拖动做好了吗

回复 d***@163.com: 插件市场搜 drag,很多

回复 李钊: 你的上下拖动好了吗

回复 李钊: 请问你的上下拖动做好了吗

我也在找,大佬找到了么

发出来看看

能发出来看看吗 急用

能发出来吗 急用

回复 d***@163.com: 你的 上下拖动组建好了吗

请问大佬解决了吗

插件市场的拖拽,在pc里面是不生效的

插件市场里有的全部是固定高度,元素固定高度的拖拽不难,但是实际业务场景不固定高度的拖拽排序是最多的,位置的计算十分复杂,这个希望官方可以出一个组件,用来做这种多端不固定高度的拖拽排序。

看这篇文章,已完美解决vuedraggable的拖拽排序报错问题,无需每次打开项目时,重新build 地址:https://ask.dcloud.net.cn/question/144791?item_id=197983 点击查看

uni-app 中集成 vuedraggable 实现拖拽排序功能,你可以按照以下步骤进行集成。vuedraggable 是一个基于 SortableJS 的 Vue 组件,用于实现拖拽排序功能。

首先,确保你已经安装了 vuedraggable。在 uni-app 项目中,你可以通过 npm 或 yarn 进行安装:

npm install vuedraggable --save
# 或者
yarn add vuedraggable

接下来,在你的 Vue 组件中引入并使用 vuedraggable。以下是一个简单的示例代码,展示了如何在 uni-app 中实现拖拽排序:

<template>
  <view class="container">
    <draggable v-model="items" @end="onDragEnd">
      <view v-for="(item, index) in items" :key="item.id" class="draggable-item">
        {{ item.name }}
      </view>
    </draggable>
  </view>
</template>

<script>
import draggable from 'vuedraggable';

export default {
  components: {
    draggable
  },
  data() {
    return {
      items: [
        { id: 1, name: 'Item 1' },
        { id: 2, name: 'Item 2' },
        { id: 3, name: 'Item 3' },
        { id: 4, name: 'Item 4' }
      ]
    };
  },
  methods: {
    onDragEnd(evt) {
      console.log('Drag ended:', evt);
      // 在这里处理拖拽结束后的逻辑,比如保存新的排序顺序
      // 可以调用 API 将新的排序顺序发送到服务器
    }
  }
};
</script>

<style scoped>
.container {
  padding: 20px;
}

.draggable-item {
  padding: 10px;
  margin-bottom: 10px;
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  border-radius: 4px;
}
</style>

在这个示例中,我们创建了一个简单的 uni-app 组件,该组件包含一个 draggable 列表。v-model 绑定到 items 数组,用于双向绑定数据。@end 事件监听器在拖拽结束时触发 onDragEnd 方法,你可以在这个方法中处理拖拽结束后的逻辑,比如将新的排序顺序发送到服务器。

注意:

  1. vuedraggableuni-app 中的表现可能与在纯 Vue 项目中略有不同,特别是在小程序平台。确保在目标平台上测试你的代码。
  2. 如果需要在小程序平台上使用拖拽功能,请确保你的基础库版本支持相关的特性。

通过上述步骤,你应该能够在 uni-app 中成功集成 vuedraggable 并实现拖拽排序功能。

回到顶部