张卓
2022-09-20 5aead44ba1be31db948dfd8362c2bfcbedbbce29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<template>
  <a-modal width="45%"  title="菜单配置" destroyOnClose  :visible="treeF" @ok="handleTreeOk"  @cancel="handleTreeCancel" >
    <a-tree
            v-model="selectMenu"
            checkable
            :auto-expand-parent="autoExpandParent"
            :tree-data="treeMenuData"
            @check="onCheck"
            @select="onSelect"
    />
  </a-modal>
</template>
 
<script lang="tsx">
    import {Component, Vue, Prop} from "vue-property-decorator";
 
    @Component({
        components:{
        }
    })
    export default class TreeControl extends Vue{
 
        private autoExpandParent: boolean = true
 
        private checkKey: any[] = []
        @Prop(   {
            type: Boolean,
        })
      private visibleTree!: boolean
        get treeF() {
            return this.visibleTree
        }
 
        @Prop({
            type: Array,
            default:()=>{}
        })
        private treeMenuData!: any[]
 
        @Prop({
            type: Array,
            default:()=>{}
        })
        private selectMenu!: any[]
 
        private onSelect(selectedKeys: any[], info:any) {
            // this.selectedKeys = selectedKeys;
        }
 
        // private expandedKeys
        private onCheck(expandedKeys: any) {
            // if not set autoExpandParent to false, if children expanded, parent can not collapse.
            // or, you can remove all expanded children keys.
            this.checkKey = expandedKeys;
            // this.autoExpandParent = false;
        }
 
        private handleTreeCancel() {
 
            this.visibleTree = false
            this.$emit('trunTreeFlag',this.visibleTree)
        }
 
        private handleTreeOk() {
            this.visibleTree = false
            this.$emit('trunTreeFlag',this.visibleTree)
            this.checkKey = []
        }
    }
</script>
 
<style scoped>
 
</style>