@xxvxx
....

Почему при удалении элемента класс check не удаляется?

Вроде класс привязывается к ID а он всегда уникальный, а такое чувство что привязка к индексу массива и я не понимаю в чем проблема....

Добавляем задачи в инпут с нажатием клавиши интер например 1, 2, 3
ставим галочку на 1 и потом ее удаляем на крестик и класс переносится на 2....
вот тут пример https://codepen.io/xxvxx/pen/yLajzNW
  • Вопрос задан
  • 76 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега Vue.js
Потому что кто-то невнимательно читал документацию.

UPD. Как-то сразу не догадался глянуть js-код. А там, а там... ЭТО ЧТО ЕЩЁ ЗА НА ХРЕН:

elem.classList.add('check');
elem.querySelector('input[type="checkbox"]').remove();

??

Вы похоже не то, что невнимательно читали - вообще не читали. Идите и читайте. С самого начала и без пропусков. Если конечно, вашей целью не является превращение в говнокодера.

UPD. Как может выглядеть исправленный (и дополненный - редактирование теперь тоже есть) вариант вашего кода:

data: () => ({
  tasks: [],
  taskId: 0,
  newTaskText: '',
}),
methods: {
  addTask() {
    this.tasks.push({
      id: ++this.taskId,
      text: this.newTaskText,
      done: false,
      edit: false,
    });

    this.newTaskText = '';
  },
},

<ul>
  <li v-for="(n, i) in tasks" :key="n.id" :class="{ check: n.done }" @dblclick="n.edit = !n.done">
    <input type="checkbox" v-if="!n.done" v-model="n.done">
    <input type="text" v-if="!n.done && n.edit" v-model="n.text" @keyup.enter="n.edit = false">
    <template v-else>{{ n.text }}</template>
    <input type="button" class="del" value="+" @click="tasks.splice(i, 1)">
  </li>
</ul>
<input type="text" v-model="newTaskText" @keyup.enter="addTask">
Ответ написан
Red_Devi1
@Red_Devi1
Редактирование сами уже https://codepen.io/avosha/pen/WNoNpMN
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы