vue-使用refs取值,打印出来是个数组??

背景:

经常使用$refs去获取组件实例,一般都是拿到实例对象,这次去取值的时候发现,拿到的竟然是个数组。

原因:

这是vue的特性,自动把v-for里面的ref展开成数组的形式,哪怕你的ref名字是唯一的!

我是通过循环接口的数据,生成各个省份的树,虽然我通过加id的形式,想要让树变成唯一,方便通过$refs调用,但是通过循环生成的树,调用的时候就是数组形式

<div class="flex-tree" v-for="item in fakeRegionData" :key="item[0].id">
    <el-tree :data="item"
        show-checkbox
        node-key="id"
        :ref="'tree'+item[0].id"
        highlight-current
        :props="{children: 'children',label: 'name'}"
        :default-expanded-keys="expandedData"></el-tree>
</div>


//给树赋值
handleSetCheckedKeys(val) {
            this.regionData.map(item => {
                console.log(this.$refs['tree'+item.id])
                
                this.$refs['tree'+item.id][0].setCheckedKeys(val)
            })
        },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值