How the VTable component progressively loads sub-nodes in a list?

Question title

How to progressively load sub-nodes in a list with the VTable component?

Problem description

Using the VTable table component, how to gradually load sub-nodes in the list, click the expand button of the parent no…


This content originally appeared on DEV Community and was authored by Ray

Question title

How to progressively load sub-nodes in a list with the VTable component?

Problem description

Using the VTable table component, how to gradually load sub-nodes in the list, click the expand button of the parent node, and then dynamically load the information of the sub-node

Solution

VTable provides setRecordChildrenAPI to update the sub-node status of a node, which can be used to implement progressive loading function

  1. Data preparation

Normally, in the data of the tree structure list, the childrenattribute is an array, which is the sub-node information of the node

{
    name: 'a',
    value: 10,
    children: [
        {
            name: 'a-1',
            value: 5,
            children: [
                // ......
            ]
        },
        // ......
    ]
}

How to dynamically load sub-node information, you can configure the childrenproperty to true. At this time, the node will be displayed as the parent node in the table, but clicking the expand button in the cell will trigger relevant events, but the table will not have any active changes.

  1. Monitoring events

After the expand button is clicked, the VTable. ListTable.EVENT_TYPEevent will be triggered. You need to listen to this event and use the setRecordChildrenAPI to update the sub-node information

const { TREE_HIERARCHY_STATE_CHANGE } = VTable.ListTable.EVENT_TYPE;
instance.on(TREE_HIERARCHY_STATE_CHANGE, args => {
  if (args.hierarchyState === VTable.TYPES.HierarchyState.expand && !Array.isArray(args.originData.children)) {
    setTimeout(() => {
      const children = [
        {
          name: 'a-1',
          value: 5,
        },
        {
          name: 'a-2',
          value: 5
        }
      ];
      instance.setRecordChildren(children, args.col, args.row);
    }, 200);
  }
});

Code example

demo:https://visactor.io/vtable/demo/table-type/list-table-tree-lazy-load

Related Documents

Related api: https://visactor.io/vtable/option/ListTable-columns-text#tree

Tutorial: https://visactor.io/vtable/guide/table_type/List_table/tree_list

github:https://github.com/VisActor/VTable


This content originally appeared on DEV Community and was authored by Ray


Print Share Comment Cite Upload Translate Updates
APA

Ray | Sciencx (2024-07-04T03:32:57+00:00) How the VTable component progressively loads sub-nodes in a list?. Retrieved from https://www.scien.cx/2024/07/04/how-the-vtable-component-progressively-loads-sub-nodes-in-a-list/

MLA
" » How the VTable component progressively loads sub-nodes in a list?." Ray | Sciencx - Thursday July 4, 2024, https://www.scien.cx/2024/07/04/how-the-vtable-component-progressively-loads-sub-nodes-in-a-list/
HARVARD
Ray | Sciencx Thursday July 4, 2024 » How the VTable component progressively loads sub-nodes in a list?., viewed ,<https://www.scien.cx/2024/07/04/how-the-vtable-component-progressively-loads-sub-nodes-in-a-list/>
VANCOUVER
Ray | Sciencx - » How the VTable component progressively loads sub-nodes in a list?. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/07/04/how-the-vtable-component-progressively-loads-sub-nodes-in-a-list/
CHICAGO
" » How the VTable component progressively loads sub-nodes in a list?." Ray | Sciencx - Accessed . https://www.scien.cx/2024/07/04/how-the-vtable-component-progressively-loads-sub-nodes-in-a-list/
IEEE
" » How the VTable component progressively loads sub-nodes in a list?." Ray | Sciencx [Online]. Available: https://www.scien.cx/2024/07/04/how-the-vtable-component-progressively-loads-sub-nodes-in-a-list/. [Accessed: ]
rf:citation
» How the VTable component progressively loads sub-nodes in a list? | Ray | Sciencx | https://www.scien.cx/2024/07/04/how-the-vtable-component-progressively-loads-sub-nodes-in-a-list/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.