I ran into the exact same issue as @joeyezekiel but could not find a solution to this problem here or anywhere.
I figured out that there is a property called “lazy” which is part of the tree. This stores which nodes have been lazy loaded already. When the tree data array is reset (e.g. this.rootNodes.length = 0) then this obviously does not affect the “lazy” object of the tree which remains filled with all the node-keys which had been previously expanded. So when you load up the tree with the same data again (same node-keys), then all keys which are also stored in “lazy” will not show the expand arrow and will not lazy load any longer.
My (simple) solution to this issue was to simply add a statement and clear the lazy object like so: “this.$refs.treeName.lazy = {}” when also resetting the tree data.
I have no idea whether this breaks anything, but it seems to work for me.
Unless this is the appropriate way to deal with it, it would be really cool to have a method to clear the tree which takes care of all the necessary.
Hope it helps someone. Please correct if I am on the wrong path.