elementUI中tree组件节点过滤功能用在循环中报错

用tree组件时使用了节点过滤,整个组件用在循环中报错
<li v-for="item in 3">

    <el-input placeholder="输入关键字进行过滤" v-model="filterText" @input="textCheckNode(filterText)"></el-input>
    <el-tree
        ref="tree"
        class="filter-tree"
        :props="defaultProps"
        :data="data2"
        default-expand-all
        show-checkbox
        :filter-node-method="filterNode">
    </el-tree>
</li>

上述input框因为change事件不生效百度input才生效
下面为改变输入框时的方法
textCheckNode(value){
     self.$refs.tree.filter(value)
 },

在调用时一输入值就报改值is not a function

https://img3.mukewang.com/5b5da2d30001f0fd03340226.jpg

另外如果我把for循环去掉就不会有问题,但我是必须要循环的,请问各位大佬有遇到过或者有解决办法吗?

慕运维8079593
浏览 4574回答 2
2回答

阿波罗的战车

你的ref不应该相同,或者指定ref $refs.tree[0]

汪汪一只猫

filter过滤器里面写方法啊,过滤条件。看看这样能不能解决你的需求比方说你获取的完整的tree的数据为data2你的tree的data数据绑定就使用::data="currentTreeData"computed:&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;currentTreeData:&nbsp;function&nbsp;()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;data2.filter((item)&nbsp;=>&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;item&nbsp;===&nbsp;this.filterText; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}); &nbsp;&nbsp;&nbsp;&nbsp;} }
打开App,查看更多内容
随时随地看视频慕课网APP