首页 > 解决方案 > vue-draggable 无法禁用

问题描述

我编写了一个在整个应用程序中共享的组件,在某些地方我需要拖动/排序,而有些地方不希望它在那里。我将 a 传递prop给我的组件调用disableDraggable并基于它应该禁用,不幸的是它没有做任何事情,我怎样才能禁用可拖动?我应该注意我尝试了选项对象语法和简单的:disable,这里是相关代码:

 <draggable v-model="copyOfQuestions" @end="$emit('updateQuestionsOrder', copyOfQuestions)" :options="{disable : disableDraggable}">  
// or :disable="disableDraggable"
      <v-card flat class="list_outer_block" v-for="q in questions" :key="q.question_id">
        <v-card-text class="pa-0">

          <v-layout justify-start align-center>
            <v-flex initial-xs px-2 py-3 class="handle minwdth-0" :title="$t('general.drag_for_reorder')">
              <v-icon class="text--secondary  text--lighten-3">$vuetify.icons.drag_indicator</v-icon>
            </v-flex>
    ....
        props: ['questions', 'disableDraggable'],

如何禁用可拖动功能?

我应该注意到vue-draggable(我正在使用的)据说具有相同的 apiSortableJs

标签: vuejs2draggablesortablejsvuedraggablevue.draggable

解决方案


它应该是:disabled而不是:disable

 <draggable v-model="copyOfQuestions" @end="$emit('updateQuestionsOrder', copyOfQuestions)" :options="{disabled : disableDraggable}">  

参考:
https ://github.com/SortableJS/Vue.Draggable/blob/17bdd4b8b2ab4f4df45dd76edf1afec864ec0936/example/debug-components/slot-example.vue


推荐阅读