Code Monkey home page Code Monkey logo

Comments (9)

kossa avatar kossa commented on July 24, 2024 1

Great thank you for help, I'm very happy that the plugin was integrated successfully with lazychaser/laravel-nestedset

from sl-vue-tree.

kossa avatar kossa commented on July 24, 2024

image

from sl-vue-tree.

holiber avatar holiber commented on July 24, 2024

Thanks for reporting this

from sl-vue-tree.

holiber avatar holiber commented on July 24, 2024

I can't find any issues here. How do you update your data field?
If you're using updateNode method, keep in mind that it doesn't patch the node recursively. It simply updates the node with Object.assign(nodeModel, patch); - line 650

from sl-vue-tree.

kossa avatar kossa commented on July 24, 2024

I using the code on the demo, currently I added manualy the id slVueTree.updateNode(node.path, {data: { visible: visible, id: node.data.id}}); :

  ...
    toggleVisibility: function (event, node) {
        const slVueTree = this.$refs.slVueTree;
        event.stopPropagation();
        const visible = node.data && node.data.visible !== true;
        slVueTree.updateNode(node.path, {data: { visible: visible, id: node.data.id}});

        console.log('Toggle visible', node.data.id, visible);
      },

from sl-vue-tree.

holiber avatar holiber commented on July 24, 2024

Just tested this code in test_toggle_visibility branch. It works for me. Are you up to date with the last version?

from sl-vue-tree.

kossa avatar kossa commented on July 24, 2024

Alright you have to add the id manually :)

c988258#diff-ecfbcb1c4778b2fc8a2fb4165903478eR138

from sl-vue-tree.

kossa avatar kossa commented on July 24, 2024

Each time you change the visible property, you have to add all others data, for now I fixed the issue like that

from sl-vue-tree.

holiber avatar holiber commented on July 24, 2024

Yes, there is no special method to patch the data field, you can only replace the whole object. In spite of this, you always have an old data object in the function's arguments. Just use spread syntax or Object.assign for convenience

    toggleVisibility: function (event, node) {
        ....
        slVueTree.updateNode(node.path, {data: { ...node.data, visible: visible}});
        ....
      },

from sl-vue-tree.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.