vue点击elementUI中Tree 树形控件的叶节点获取id触发事件

vue中想要点击elementUI中Tree 树形控件的叶节点,然后获取叶节点的唯一id ,根据id触发事件,事件为div1的隐藏和div2的显示,请问该如何实现呢?
页面示意如下:

img

elementUI的Tree 树形控件代码如下:
<el-tree id="tree_left" :data="data1" ref="tree1" @node-click="handleNodeClick" default-expand-all node-key="id"
@click="nodeclick()">


<template>
    <div class="main">
        <div class="tree-css">
            <el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick">
            
            </el-tree>
        </div>
        <div class="right-page">
            <template v-if="chooseId == 1">
                <div class="p1p1 border">
                    <p class="pTitle">会议在线报名</p >
                    <p>会议1</p >
                    <p>会议2</p >
                </div>
            </template>
            <!-- 会议在线预约 -->
            <template v-if="chooseId == 2">
                <div class="p2p2 border">
                <p class="pTitle">公司交流预约</p >
                <p>xxxx公司有意于2023.02.01日下午14:00前来参加技术交流会</p >
                <p>xxxx公司有意于2023.02.02日下午15:00前来参加技术交流会</p >
                </div>
            </template>
            <!-- 我的议程安排 -->
            <template v-if="chooseId == 3">
                <div class="p3p3 border">
                <p class="pTitle">我的议程安排</p >
                <p>9:00 部门小会</p >
                <p>10:00 项目探讨</p >
                </div>
            </template>
        </div>
    </div>
</template>
<script>
export default {
    data() {
        return {
            chooseId: 0,
            data: [{
                id: 11,
                label: '一级 1',
                children: [{
                    id: 1,
                    label: '二级 1-1',
                    children: []
                },{
                    id: 2,
                    label: '二级 1-2'
                }, 
                {
                    id: 3,
                    label: '二级 1-3'
                }]
                }, 
                {
                id: 21,
                label: '一级 2',
                children: [{
                    id: 5,
                    label: '二级 2-1'
                }, {
                    id: 6,
                    label: '二级 2-2'
                }]
                }, {
                id: 31,
                label: '一级 3',
                children: [{
                    id: 7,
                    label: '二级 3-1'
                }, {
                    id: 8,
                    label: '二级 3-2'
                }]
            }],
            defaultProps: {
                children: 'children',
                label: 'label'
            }
        }
    },
    methods: {
        handleNodeClick(val1, val2, val3) {
            console.log(val1);
            this.chooseId = val1.id;
        }
    }
}
</script>
<style>
.main {
    display: flex;
}
.tree-css {
    height: 90vh;
    width: 300px;
    border: 1px solid #ccc;
}
.right-page {
    height: 90vh;
    width: 600px;
    border: 1px solid #ccc;
}
.border {
    border: 1px solid #ccc;
}
</style>

点击子节点 获取 到 该节点的 id . 如果你这两个组件 在一个组件 就不用 组件通信了,可以 拿到 这个 id 然后 。对 div的隐藏 。至于怎么隐藏 可以 用 v-if。

@node-click是可以获取到当前节点的,拿到id,做对应处理就可以了