【问题标题】:How to use Vue draggabale in Vue js 3如何在 Vue js 3 中使用 Vue 可拖动
【发布时间】:2021-01-11 12:33:18
【问题描述】:

我正在尝试在 Vue js 3 中使用 Draggable,但它显示错误: VueCompilerError: v-slot can only be used on components or <template> tags.

这是我的代码

 <draggable tag="transiton-group" name="slide" item-key="id" @start="drag=true" @end="drag=false" v-model="todos">
  <li #item="" v-for="(todo, index) in filteredTodos" :key="todo.id" class="todo-item">
    <input @click="toggleDone(todo)" class="js-tick" id="1610198328386" type="checkbox" :checked="todo.done">
    <span :class="{ done: todo.done }">{{ todo.task }}</span>
    <img @click="deleteTodo(index)" class="delete" width="15px" height="15px" src="~@/assets/icon-cross.svg" alt="cross">
  </li>
</draggable>

在我用可拖动替换后,mt 过渡组也不再工作

【问题讨论】:

标签: javascript html vue.js draggable vuejs3


【解决方案1】:

#item=""v-slot:item="" 的简写,只能与组件标签一起使用:

 <draggable #item="" ...>
  <li  ...
</draggable>

或模板标签:

 <draggable  ...>
  <template #item="">
   <li ...
  </template>
</draggable>

【讨论】:

  • 错误消失了,但现在当我添加待办事项时,它会创建多个待办事项而不是一个
  • 因为您正在使用 v-for 循环遍历 li
猜你喜欢
  • 2019-03-30
  • 2021-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-21
  • 2021-11-21
  • 2023-03-02
  • 2017-10-27
相关资源
最近更新 更多