首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nuxt3中vuedraggable定制组件设置

Nuxt3中vuedraggable定制组件设置
EN

Stack Overflow用户
提问于 2022-09-05 21:15:43
回答 1查看 150关注 0票数 0

我很难让vuedraggable (https://github.com/SortableJS/vue.draggable.next)在Nuxt 3中工作。下面是我迄今为止遵循的步骤。

npm install vuedraggable@next

然后在/plugins/vue-draggable.client.js中创建这个文件

代码语言:javascript
复制
import draggable from 'vuedraggable'

export default defineNuxtPlugin((nuxtApp) => {
  nuxtApp.vueApp.component('draggable', draggable);
})

然后在模板中我做了这个

代码语言:javascript
复制
<template>
  <draggable v-model="items" handle=".handle">
    <div class="item" v-for="item in items">
      <div class="title">{{item.title}}</div>
      <div class="handle">Sort</div>
    </div>
  </draggable>
</template>

<script setup>
let items = $ref([
  {
    title: 'Item 1'
  },
  {
    title: 'Item 2'
  },
  {
    title: 'Item 3'
  }
]);
</script>

在控制台中,我得到了以下错误:

代码语言:javascript
复制
[Vue warn]: Failed to resolve component: draggable
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.

当模板呈现如下所示时:

我不知道我错过了哪一步?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-06 23:23:09

因此,原来我看错了文档,Vue3版本的VueDraggable有一个新的语法:

代码语言:javascript
复制
<draggable v-model="items" handle=".handle">
 <template #item="{element: item}">
  <div class="item">
    <div class="title">{{item.title}}</div>
    <div class="handle">Sort</div>
  </div>
 </template>
</draggable>

这是正确的语法。

我遇到的一个问题是模板只能有一个根元素,现在它运行得很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73614735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档