Я пытался сделать следующее Stackblitz , которое использует ng2-dragula
.Моя проблема заключалась в функциях moveback()
и moveto()
, которые должны были переходить из одного массива в другой, когда элемент был выбран.Я смог определить, какой элемент был выбран, но не смог полностью переместить его (какой-то элемент остался).
Код, относящийся к этому вопросу:
moveback() {
let target = document.getElementsByClassName('target');
for (let i = 0; i < target.length; i++) {
if (target[i].className.includes('ex-over')) {
this.removeClass(target[i], 'ex-over');
this.data.push({ name: target[i].innerHTML });
this.target.splice(i, 1);
}
}
}
moveto() {
let target = document.getElementsByClassName('data');
for (let i = 0; i < target.length; i++) {
if (target[i].className.includes('ex-over')) {
this.removeClass(target[i], 'ex-over');
this.target.push({ name: target[i].innerHTML });
this.data.splice(i, 1);
}
}
}
Я нашел два связанных с (1) , related (2) вопрос, который задает похожую вещь, но он не работает в моем случае.Мой подход заключался в том, чтобы обнаружить, что элемент содержит определенное имя класса, затем удалить класс, переместить его в другой массив и удалить его из исходного массива.Но это не работает так, как задумано.