vuetify data-table + dragula



我在使用dragula时遇到了一个问题。我使用的是vue2 dragula包装。

这是一把小提琴,它证明了这个问题,尽管我无法完成本身的拖拉工作

https://jsfiddle.net/Lscqm9je/

在我的电脑上,它按预期工作。唯一的问题是数据表列对齐。如果你看第一个表,我们会丢失标题/数据对齐,因为我在模板和tr 之间添加了一个div

<v-data-table  v-bind:headers="headers" v-bind:items="items" hide-actions>
<template slot="items" scope="props">
<tbody v-dragula="tr" drake="first" class="container">
<tr>
<td class="text-xs-right">{{ props.item.round }}</td>
<td class="text-xs-right">{{ props.item.cat }}</td>
<td class="text-xs-right">{{ props.item.p1 }}</td>
<td class="text-xs-right">{{ props.item.p2 }}</td>
<td class="text-xs-right">{{ props.item.statut }}</td>
</tr>
</tbody>
</template>
</v-data-table> 

所以我想在表模板和表行之间放一些东西是不允许的。但这是我找到的唯一能让dragula指令发挥作用的方法。该指令必须是可拖动元素(tr)的直接父级。我还试图将指令放入模板标记中,但这似乎不可能。

<template slot="items" scope="props" v-dragula="tr" drake="first" class="container">

我要找的是一张看起来像小提琴中的第二张桌子,但dragula指令有效。有人有主意吗?我是一个没有真正编程学位的初学者,所以这可能是一些愚蠢的事情,如果是的话,请提前道歉:)

谢谢。

更多信息:

这不起作用:

<template slot="items" scope="props" v-dragula="tr" drake="first" class="container">
<tr>
<td class="text-xs-right">{{ props.item.round }}</td>

这是有效的,但单元格是单独拖动的,而不是整行拖动

<template slot="items" scope="props">
<tr v-dragula="tr" drake="first" class="container">
<td class="text-xs-right">{{ props.item.round }}</td> 

小提琴上的控制台正在发出警告

[Vue warn]: Property or method "tr" is not defined on the instance but referenced during render. 
Make sure to declare reactive data properties in the data option.
(found in <Root>)

查看vue-dragula自述页面,v-dragula="..."应该指向数据集合,而不是元素,所以我认为它将是

<template slot="items" scope="props" v-dragula="items" drake="first" class="container">

这可能会让你走得更远。有一次,第二个表在拖动时显示了一个图标,但现在没有了,我不知道为什么。如果我得到任何进一步的线索,我会更新。

顺便说一句,<template>而不是<div>是首选,因为<table>对内部标签很敏感(尽管可能希望Vuetify来处理这个问题)。

相关内容

  • 没有找到相关文章

最新更新