You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

vue.draggable中连接两个可拖拽列表的关键属性是什么?

Vue.draggable双列拖拽互认的必要属性

你猜的完全没错,group属性就是让两个列表互相识别为可拖拽交互区域的核心必要属性。

核心原理

vue.draggable底层依赖SortableJS,group属性的作用是定义「拖拽分组」——只有拥有相同组名的拖拽容器,才能互相接收对方拖过来的元素。示例里两个<draggable>组件都设置了group="people",所以它们属于同一个拖拽组,自然能实现双向拖拽。

关于group的细节

  • 字符串形式(如示例)是最基础的用法,等价于配置{ name: 'people', pull: true, put: true }
  • 若需要更精细控制,可以用对象配置:
    • name: 分组名称(必填,用来标识同组容器)
    • pull: 是否允许将当前容器的元素拖出去(默认true)
    • put: 是否允许接收同组其他容器的元素(默认true)

不能忽略的配套属性

除了group,每个<draggable>组件必须绑定:list属性(比如:list="list1"、:list="list2"),这是vue.draggable实现「拖拽操作同步数据」的关键——没有这个属性,拖拽后页面视觉变化了,但对应的数组数据不会自动更新,业务逻辑就会出错。

示例关键代码片段

两个拖拽容器的核心配置:

<!-- 第一个拖拽容器 -->
<draggable class="list-group" :list="list1" group="people" @change="log">
  <!-- 列表项内容 -->
</draggable>

<!-- 第二个拖拽容器 -->
<draggable class="list-group" :list="list2" group="people" @change="log">
  <!-- 列表项内容 -->
</draggable>

内容的提问来源于stack exchange,提问作者timventura

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 01:22:08