vue使用iVew表格插件 + Sortable.js进行拖拽,拖拽后表格表头数据显示不对怎么解决?
<template>
<Table :columns="col" row-key="id" :data="tableData"></Table>
</template>
<script>
import Sortable from "sortablejs";
export default {
props: {
tableData: Array,
col: Array
},
mounted() {
this.columnDrop();
},
methods: {
// 列拖拽
columnDrop() {
const wrapperTr = document.querySelector(".ivu-table-header tr");
Sortable.create(wrapperTr, {
animation: 150,
delay: 0,
onEnd: evt => {
const oldItem = this.col[evt.oldIndex];
this.col.splice(evt.oldIndex, 1);
this.col.splice(evt.newIndex, 0, oldItem);
}
});
}
}
};
</script>
目前效果是可以进行拖拽,但是拖拽之后会出现显示错误,数据对应不上,但是打印出的数据是正确的,请问一下这种情况下如何解决?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
看起来像是动态响应的问题,最后一句改成这样试试看?
this.col.splice(evt.newIndex, 0, this.col.splice(evt.oldIndex, 1)[0]);
var newArray1 = this.col.slice(0);
this.col = [];
this.$nextTick(function () {
});
这样设置表头与表里面的内容就行了,亲测有效
iview 表头 使用sortablejs 那个问题你是怎么解决的,看到了一定要回复啊,感谢