【问题标题】:Vue.Draggable different behaviour depends on drop locationVue.Draggable 不同的行为取决于放置位置
【发布时间】:2020-07-02 12:43:57
【问题描述】:

我正在使用 Vue.Draggable 进行一些拖放操作。

是否可以从移动元素更改为克隆取决于您拖动它的位置?

即。如果我将它拖放到 A 区,我想要移动元素的正常行为 但是如果我将它拖放到 B 区,我想克隆该元素。

有人知道怎么做吗?谢谢

【问题讨论】:

    标签: javascript vue.js draggable


    【解决方案1】:

    您可以使用putpull 作为函数来动态控制行为。请参阅group 选项。

    <div id='app'>
      <draggable class='area' :group='group' :list='list1'>
        <div class='item' v-for='element in list1' :key='element.name'>
          {{ element.name }}
        </div>
      </draggable>
      <draggable class='area' group='foo' :list='list2' data-zone='A'>
        <div class='item' v-for='element in list2' :key='element.name'>
          {{ element.name }}
        </div>
      </draggable>
      <draggable class='area' group='foo' :list='list3' data-zone='B'>
        <div class='item' v-for='element in list3' :key='element.name'>
          {{ element.name }}
        </div>
      </draggable>
    </div>
    
    group() {
      return {
        name: 'foo',
        put: false,
        pull(to) {
          let zone = to.el.dataset.zone
          switch (zone) {
            case 'A': return true
            case 'B': return 'clone'
          }
          return false
        }
      }
    }
    

    Example

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      • 2018-03-17
      • 1970-01-01
      • 2022-01-01
      • 2017-08-16
      • 2012-02-24
      相关资源
      最近更新 更多