TypeError: Cannot set properties of null (setting '__draggable_context')
Hello,
I am getting the following error when my page loads:
TypeError: Cannot set properties of null (setting '__draggable_context')
at addContext (node_modules\vuedraggable\dist\vuedraggable.umd.js:4478:1)
at eval (node_modules\vuedraggable\dist\vuedraggable.umd.js:4523:1)
at Array.forEach (<anonymous>)
at ComponentStructure.updated (node_modules\vuedraggable\dist\vuedraggable.umd.js:4522:1)
at Proxy.updated (node_modules\vuedraggable\dist\vuedraggable.umd.js:4829:1)
at callWithErrorHandling (node_modules\@vue\runtime-core\dist\runtime-core.esm-bundler.js:155:1)
at callWithAsyncErrorHandling (node_modules\@vue\runtime-core\dist\runtime-core.esm-bundler.js:164:1)
at Array.hook.__weh.hook.__weh (node_modules\@vue\runtime-core\dist\runtime-core.esm-bundler.js:2685:1)
at flushPostFlushCbs (node_modules\@vue\runtime-core\dist\runtime-core.esm-bundler.js:356:1)
at flushJobs (node_modules\@vue\runtime-core\dist\runtime-core.esm-bundler.js:401:1)
I cannot drag anything, when I try to drag I get the following error:
node_modules\vuedraggable\dist\vuedraggable.umd.js:4974 Uncaught TypeError: Cannot read properties of null (reading 'index')
at Proxy.onDragUpdate (node_modules\vuedraggable\dist\vuedraggable.umd.js:4974:1)
at Proxy.eval (node_modules\vuedraggable\dist\vuedraggable.umd.js:4694:1)
at Sortable.eval (node_modules\vuedraggable\dist\vuedraggable.umd.js:4705:1)
at dispatchEvent (node_modules\sortablejs\modular\sortable.esm.js:916:1)
at _dispatchEvent (node_modules\sortablejs\modular\sortable.esm.js:961:1)
at Sortable._onDrop (node_modules\sortablejs\modular\sortable.esm.js:2216:1)
at Sortable.handleEvent (node_modules\sortablejs\modular\sortable.esm.js:2269:1)
at Sortable.__trace__ [as handleEvent] (node_modules\@bugsnag\browser\dist\bugsnag.js:2764:1)
I have tried downgrading to versions 4.0.1 as well as version 4.0.0 and both still throw the error. This is my component:
<draggable item-key="id" v-model="person" handle=".gripIcon" @start="drag=true" @end="drag=false" tag="transition-group" :component-data="{name:'flip-list'}">
<template #item="{element,index}">
<component :is="element.name" :id="element.id"
v-bind:key="element.id"
v-on:delete-row="deleteRow(index)"
v-on:update-info="data => updateInfo(index,data)">
</component>
</template>
</draggable>
Please assist.
This issue is never ending what is this? I get this issue all the time now??? This has broken the app completely. Hopefully this is resolved soon.
I noticed the authors own code examples don't even work. I think he needs to update them.
man,i have same question with you,but it may be not Stable Recurrence,Have you solved it?
I noticed the authors own code examples don't even work. I think he needs to update them.
Do you use vite ?
They don't work with vite or webpack
They don't work with vite or webpack
what a pity,i remove tag="transition-group"
I have not solved it, it is still happening. I do not use vite.
Removing the tag="transition-group" worked for me. I no longer get the error. Kinda sad though cause now there's no more smooth transitions when dragging and swapping items!
in order to work you have to downgrade your vue and that solves it. go to 3.2.30
Currently running vue version 3.0.0. We have not upgraded it yet.
if that is the case im not sure why it's broken on your end.
Same error for me, i couldn't make it run with tag="transition-group" (vite, vue 3, typescript) by following the simple code example guide, i decided to switch the SortableJS vanilla version, hope could it be fixed, thank you!
Not working for me either, I'm using Vue 3.2.33.
Draggable works fine without the transition on it, but I'm getting the same error as soon as I add tag="transition-group"
Will the official fix this problem? I see that the last version is still released in 2020
This error did not happen to me before and started to happen when I performed an npm update.
The error was fixed by setting vue to version 3.2.30 currently 3.2.33
"vue": "3.2.30",
Can you use version 3.2.30 without errors
There seems to be a pull request #145 with a fix for this issue. I hope there will be soon a release with it.
I don't know of the dev works on the repo anymore
On Wed, May 11, 2022, 7:32 AM Seuthes @.***> wrote:
There seems to be a pull request #145 https://github.com/SortableJS/vue.draggable.next/pull/145 with a fix for this issue. I hope there will be soon a release with it.
— Reply to this email directly, view it on GitHub https://github.com/SortableJS/vue.draggable.next/issues/140#issuecomment-1123622724, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKZ4LI65QPVIA4BMKQOTYDVJOLEHANCNFSM5UIF3DTQ . You are receiving this because you commented.Message ID: <SortableJS/vue. @.***>
I don't know of the dev works on the repo anymore … On Wed, May 11, 2022, 7:32 AM Seuthes @.> wrote: There seems to be a pull request #145 <#145> with a fix for this issue. I hope there will be soon a release with it. — Reply to this email directly, view it on GitHub <#140 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKZ4LI65QPVIA4BMKQOTYDVJOLEHANCNFSM5UIF3DTQ . You are receiving this because you commented.Message ID: <SortableJS/vue. @.>
I think the official has given up this repo, so we're on our own. maybe we need to migrate to the original sortable.js
This is a helpless choice. I have to reduce my version. I still hope to use vue-core@next as soon as possible
我使用了: "vue": "^3.2.25" "vite": "^2.8.0" "vuedraggable": "^4.1.0"
近期重新install或update后发现了bug,通过移除 tag="transition-group" 后解决了此问题
remove tag="transition-group"
我使用了: "vue": "^3.2.25" "vite": "^2.8.0" "vuedraggable": "^4.1.0"
近期重新install或update后发现了bug,通过移除 tag="transition-group" 后解决了此问题
不能说解决吧,只能说用这个办法可以通过移除特性的方式避开这个 bug ,我觉得如果这个仓库官方不打算维护了,将 vue-draggable 替换为 sortable 才是最合适的方案,因为 vue-draggable 内核也是基于 sortable 开发的
I was having this same issue and published a thin wrapper around sortablejs that seems to work more consistently. Feel free to try it out and leave feedback at https://github.com/MaxLeiter/sortablejs-vue3.
@MaxLeiter Was having the exact same issue so I tried out your library. Unfortunately I got this issue when I try to use it :
runtime-core.esm-bundler.js?9d6a:2948 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'isCE')
at renderSlot (runtime-core.esm-bundler.js?9d6a:2948:1)
at eval (sortablejs-vue3.es.js?e663:76:1)
at renderList (runtime-core.esm-bundler.js?9d6a:2879:1)
at eval (sortablejs-vue3.es.js?e663:74:1)
at normalizeChildren (runtime-core.esm-bundler.js?9d6a:6946:1)
at createBaseVNode (runtime-core.esm-bundler.js?9d6a:6699:1)
at _createVNode (runtime-core.esm-bundler.js?9d6a:6801:1)
at createVNodeWithArgsTransform (runtime-core.esm-bundler.js?9d6a:6657:1)
at createBlock (runtime-core.esm-bundler.js?9d6a:6632:1)
at Proxy.eval (sortablejs-vue3.es.js?e663:69:1)
@FeckNeck open an issue there please
Guys.. for me its working with simply removing tag="transition-group" and using v-bind="dragOptions"
computed:{
dragOptions() {
return {
animation: 250,
group: "people",
disabled: false,
ghostClass: "ghost"
};
},
}
after that remember remove any transitions effect you have in your css for the dragged element.
Guys.. for me its working with simply removing tag="transition-group" and using v-bind="dragOptions"
computed:{ dragOptions() { return { animation: 250, group: "people", disabled: false, ghostClass: "ghost" }; }, }after that remember remove any transitions effect you have in your css for the dragged element.
Thanks @ceciogit This also worked for me 👍
Hi guys, this is how I solved it, but need to change the source code, but there will be [Vue warn]: <TransitionGroup> children must be keyed. But don't add key. For now, let's do that. We need to change another way of thinking to solve this problem, such as not using vue version to develop
before:` const defaultNodes = normalizedList.flatMap((element, index) =>
item({ element, index }).map(node => {
node.key = getKey(element);
node.props = { ...(node.props || {}), "data-draggable": true };
return node;
})
);`
after:`const defaultNodes = normalizedList.flatMap((element, index) =>
item({ element, index }).map(node => {
node.key = getKey(element);
node.props = { ...(node.props || {}), "data-draggable": true };
return cloneVNode(node);
})
);`
I was able to get rid of the error by removing tag="transition-group" but still keep a nice transition by adding the prop :animation="150"