Vue.Draggable拖放到同一数组

时间:2018-08-27 02:51:46

标签: vue.js drag-and-drop drag vue.draggable

我正在尝试将同一数组拖到另一个数组中,请检查我的代码,并在错误的地方告诉我。工作了将近10个小时,但没有找到任何解决方案。感谢您的帮助。

    <draggable v-model="userSkillLevel3"
                           :options="{group:'people',animation:150,filter: '.ignore-elements',preventOnFilter: true,dragClass:'sortable-chosen',handle: '.sortable-chosen',chosenClass:'sortable-chosen',ghostClass: 'sortable-ghost'}"
                           @change="sortSkill($event,userSkillLevel2)">
                    <div class="sortable-ghost">
                        <div class="ignore_element">
                            <input id="entry_level2" type="radio" name="expertlevel" value="2" v-on:click="updateSkillLevel(2)">
                            <label for="entry_level2"><span>$</span> Expert</label>
                        </div>

                        <div class="resultshow ">
                            <draggable v-model="userSkillLevel3"
                                       :options="{group:'people',animation:150}"  >
                                <ul v-for="(userSkillLevel,index) in userSkillLevel3" :key="index" class="">
                                    <li class=" sortable-chosen"><span class="">{{userSkillLevel.name}} <i v-on:click="clearCurrentSkillLevel(''+userSkillLevel.code+'')" class="fa fa-close"></i></span></li>
                                </ul>
                            </draggable>
                        </div>
                    </div>

                </draggable>

1 个答案:

答案 0 :(得分:0)

我认为问题在于您不应复制可拖动的项目。更糟糕的是,您对它们使用相同的v-model属性,因为模型将像这样被弄乱。您应该使用一个可拖动的项目,但不指定pull和put选项,因为您的代码暗示您不希望从阵列中提取项目。如果您查看插件的GitHub,您会看到最基本的示例是从同一数组中拖放:

https://github.com/SortableJS/Vue.Draggable