File tree Expand file tree Collapse file tree 3 files changed +12
-13
lines changed
Expand file tree Collapse file tree 3 files changed +12
-13
lines changed Original file line number Diff line number Diff line change 11# vue-tree
22
3+ [ ![ Master Build] ( https://travis-ci.com/eidng8/vue-tree.svg?branch=master )] ( https://travis-ci.com/eidng8/vue-tree )
4+ [ ![ Master Coverage] ( https://coveralls.io/repos/github/eidng8/vue-tree/badge.svg?branch=master )] ( https://coveralls.io/github/eidng8/vue-tree?branch=master )
5+
36A Vue.js tree view component with stable DOM tree. By stable, it means the
47DOM structure will not change once it is rendered.
58
69
7- ## Master Branch
8- [ ![ Build] ( https://travis-ci.com/eidng8/vue-tree.svg?branch=master )] ( https://travis-ci.com/eidng8/vue-tree )
9- [ ![ Coverage] ( https://coveralls.io/repos/github/eidng8/vue-tree/badge.svg?branch=master )] ( https://coveralls.io/github/eidng8/vue-tree?branch=master )
10-
11- ## Dev Branch
12- [ ![ Build] ( https://travis-ci.com/eidng8/vue-tree.svg?branch=dev )] ( https://travis-ci.com/eidng8/vue-tree )
13- [ ![ Coverage] ( https://coveralls.io/repos/github/eidng8/vue-tree/badge.svg?branch=dev )] ( https://coveralls.io/github/eidng8/vue-tree?branch=dev )
14-
15-
1610## Performance Consideration
1711
1812The DOM structure of this component doesn't change once rendered.
Original file line number Diff line number Diff line change 2626 >{{ tag.label }}</label >
2727 </span >
2828 </div >
29- <ul v-if =" hasChild " class =" g8-tree__branch" >
29+ <ul v-if =" expanded || item.rendered " class =" g8-tree__branch" >
3030 <g8-tree-view v-for =" (child, index) in item.children"
3131 :key =" index"
3232 :item =" child"
4545import {Component , Prop , Vue } from ' vue-property-decorator' ;
4646import {G8StateChangeEvent , G8TreeItem } from ' ./types' ;
4747
48- @Component ({
49- name: ' g8-tree-view' ,
50- })
48+ @Component ({name: ' g8-tree-view' })
5149export default class G8TreeView extends Vue {
5250 @Prop () item! : G8TreeItem ;
5351
@@ -67,6 +65,10 @@ export default class G8TreeView extends Vue {
6765 return this .item .children && this .item .children .length ;
6866 }
6967
68+ created() {
69+ console .log (` created: ${this .item .name } ` );
70+ }
71+
7072 setState(state : boolean ) {
7173 this .item .checked = this .checked = state ;
7274 this .$children .forEach (c => (c as G8TreeView ).setState (state ));
@@ -75,6 +77,7 @@ export default class G8TreeView extends Vue {
7577
7678 clicked() {
7779 if (this .hasChild ) {
80+ this .item .rendered = true ;
7881 this .expanded = ! this .expanded ;
7982 }
8083 this .$emit (' click' , this .item .key );
Original file line number Diff line number Diff line change @@ -17,6 +17,8 @@ export interface G8TreeItem {
1717 */
1818 ints ?: boolean ;
1919
20+ rendered ?: boolean ;
21+
2022 tags ?: G8TreeItemTag [ ] ;
2123
2224 children ?: G8TreeItem [ ] ;
You can’t perform that action at this time.
0 commit comments