element plus 设置tree默认选中


<!-- 公共树组件 --> //新建的 tree.vue

<template>
    <div style="font-size: 14px; font-weight: 600; height: 50px; border-bottom: 1px solid #eee;line-height: 50px; padding-left: 10px;">{{ props.name }}</div>
    <div style="height: calc(100% - 51px); overflow: auto;" >
      <el-tree  node-key="id" :current-node-key="2" highlight-current="true" default-expand-all="true" :data="props.Tree" :props="defaultProps" @node-click="handleNodeClick" >
          <template #default="scope">
          <div class="custom-node" >
              <el-icon v-if="scope.node.id == ''" style="color: #028CFF;"><Management /></el-icon>
              <el-icon v-if="scope.node.id != 1" style="color: #028CFF;"><WalletFilled /></el-icon>&ensp;
            <span>{{scope.node.label}}</span>
          </div>
        </template>
      </el-tree>
    </div>
</template>
<script lang="ts" setup>
import { defineEmits } from 'vue' 
 const emit =  defineEmits(['childfun'])
 
 const props = defineProps({
    name: String,
    Tree: null
 })

const handleNodeClick = (data: Tree) => {
  console.log(data.id)
   emit("childfun",data.id);
}


const defaultProps = {
  children: 'children',
  label: 'label',
}
</script>
<style>
.el-tree-node__content {
    display: flex;
    align-items: center;
    height: 46px;
    cursor: pointer;
    border-bottom: 1px dashed #eee ;
}
</style>

//node-key="id" :current-node-key="2"  设置默认选中节点

//在别的页面引用 站点树

<!-- 通知公告 -->
<template>
  <div style="float: left; width: 250px;background: #fff; height: calc(100vh - 174px);">
    <Tree name="通知公告" :Tree="data"/>
  </div>

  <div style="float: left; width: calc(100% - 260px);margin-left: 10px;background: #fff;height: 100%;">
    通知公告
  </div>
  
</template>
<script lang="ts" setup>
import Tree from './Tree.vue'

interface Tree {
  id: number
  label: string
  children?: Tree[]
}

const data: Tree[] = [
  {
    id: 1,
    label: '千程水利',
    children: [
        {id: 2,label: '决策层'},
        {id: 3,label: '设计一所'},
        {id: 4,label: '设计二所'},
        {id: 5,label: '规划所'},
        {id: 6,label: '总工办'},
        {id: 7,label: '综合部'},
        {id: 8,label: '法务部'},
        {id: 9,label: '财务部'},
        {id: 10,label: '人力资源部'},
    ],
  },
]

</script>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]中的描述,对于element-plus中的el-tree组件,默认选中第一个节点可以通过设置default-checked-keys属性来实现。你可以将default-checked-keys属性绑定到一个数组,数组中的元素是你想要默认选中的节点的key值。例如,你可以将default-checked-keys设置为\[this.arr\[0\].key\]来默认选中第一个节点。 另外,根据引用\[2\]中的代码示例,你可以通过设置props属性来指定el-tree组件的数据结构。在defaultProps对象中,你可以设置children属性和label属性来指定子节点和标签的字段名。 综上所述,你可以尝试在el-tree组件上设置default-checked-keys属性为\[this.arr\[0\].key\]来默认选中第一个节点,并使用props属性来指定数据结构。希望这能帮到你。 #### 引用[.reference_title] - *1* [VUE element-ui 组件 el-tree 默认选中渲染问题](https://blog.csdn.net/qq_44774831/article/details/119698975)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [element-plus el-tree使用](https://blog.csdn.net/m0_53266704/article/details/125557151)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值