gpt4 book ai didi

javascript - Rubaxa-Sortable 无法在 'matches' : 'Element' is not a valid selector 上执行 '>*'

转载 作者:搜寻专家 更新时间:2023-10-30 22:15:23 26 4
gpt4 key购买 nike

我正在使用 vuejs 和 Rubaxa Sortable JavaScript 库。 sortable 与 <ul><li> 一起工作正常但是对于表格行,当我通过拖放重新排列时会出现此错误。

Sortable.min.js:3 Uncaught DOMException: Failed to execute 'matches' on 'Element': '>*' is not a valid selector.

我正在使用 Vue.js v2.5.13 和 Rubaxa Sortable v1.7.0。

Vue.directive('sortable', {
inserted: function (el, binding) {
var sortable = new Sortable(el, binding.value || {});
}
});
new Vue({
el: '#app',
data () {
return {
items: [{id: 1},{id: 2},{id: 3},{id: 4},{id: 5}]
}
},
methods: {
reorder ({oldIndex, newIndex}) {
const movedItem = this.items.splice(oldIndex, 1)[0]
this.items.splice(newIndex, 0, movedItem)
}
}
})
<script src="https://vuejs.org/js/vue.min.js"></script>
<script src="https://cdn.rawgit.com/RubaXa/Sortable/c35043730c22ec173bac595346eb173851aece20/Sortable.min.js"></script>
<div id="app">
<h2>With List</h2>
<ul v-sortable="{onEnd: reorder}">
<li v-for="i in items" :key="i.id">{{ i.id }}</li>
</ul>

<hr/>

<h2>With Table</h2>
<table v-sortable="{onEnd: reorder}">
<tr v-for="i in items" :key="i.id">
<td>{{ i.id }}</td>
</tr>
</table>

{{ items }}

</div>

最佳答案

A <table>不能包含表行 ( <tr> )。表的结构是这样的。

<table>
<thead></thead>
<tbody></tbody>
<tfoot></tfoot>
</table>

所以当我们这样写html表格的时候,

<table>
<tr>First Row</tr>
<tr>Second Row</tr>
</table>

浏览器自动将所有行插入 <tbody> 中并像这样呈现它。

<table>
<tbody>
<tr>First Row</tr>
<tr>Second Row</tr>
</tbody>
</table>

因此表行不是 <table> 的直接子行, 而他们是 <tbody> 的 child .因此,在 <tbody> 中生成表格行并将 v-sortable 添加到 <tbody> .

<table>
<tbody v-sortable="{onEnd: reorder}"> <!-- v-sortable here -->
<tr v-for="i in items" :key="i.id">
<td>{{ i.id }}</td>
</tr>
</tbody>
</table>

Sortable 的缩小版有一个错误,他们以某种方式摆脱了 try-catch当缩小它时阻塞导致它在除<ul><li>以外的任何事情时失败已排序。因此,在他们修复它之前,请使用开发版,即 Sortable 的未压缩版本。

关于javascript - Rubaxa-Sortable 无法在 'matches' : 'Element' is not a valid selector 上执行 '>*',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48804134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com