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>

person Rajan    schedule 27.08.2018    source источник


Ответы (1)


Я думаю, проблема в том, что вы не должны дублировать перетаскиваемый элемент. Хуже того, вы используете с ними один и тот же атрибут v-модели, потому что модели будут перепутаны вот так. Вы должны использовать один перетаскиваемый элемент БЕЗ указания параметров извлечения и размещения, потому что ваш код подразумевает, что вы не хотите, чтобы элементы были извлечены из вашего массива. Если вы проверите GitHub плагина, вы увидите, что самый простой пример - это перетаскивание из одного и того же массива в один и тот же массив:

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

person Máté Wiszt    schedule 27.08.2018
comment
Спасибо за ответ, пожалуйста, проверьте мой код еще раз, обновленный новым кодом. Пожалуйста, поделись своими мыслями. - person Rajan; 27.08.2018
comment
Извините, может я не понял в чем проблема. У вас есть один массив, и вы хотите перетаскивать элементы только внутри него (практически только изменять порядок элементов) или что-то еще? Я до сих пор не понимаю, почему вы вкладываете перетаскиваемые элементы друг в друга. - person Máté Wiszt; 27.08.2018