美文网首页
vue/el-tree实现简单的模糊查询

vue/el-tree实现简单的模糊查询

作者: 热心市民萝卜先生 | 来源:发表于2020-04-24 14:38 被阅读0次

    1、filter()

    filter() 过滤数组也是一个常用的操作,它用于遍历Array把某些元素过滤掉,然后把剩余的元素组成一个新数组返回(不改变原数组)。

    2、includes()

    filter() 过滤数组也是一个常用的操作,它用于遍历Array把某些元素过滤掉,然后把剩余的元素组成一个新数组返回(不改变原数组)。

    一、简单实现模糊查找:

    初始化 搜索
    代码:
    <template>
        <view class="content">
            <input type="text" v-model="text" />
            <view v-for="(item,index) in filterpersons" :key="index">
                <view>{{item}}</view>
            </view>
        </view>
    </template>
    
    <script>
        export default {
            data() {
                return {
                    text: '',
                    list: ["百度一下", "有道翻译", "360地图", "百度网盘", "360浏览器"]
                }
            },
            computed: {
                filterpersons() {
                    var $this = this;
                    return this.list.filter(function(item) {
                        return item.indexOf($this.text) != -1;
                    });
                }
            }
        }
    </script>
    
    

    二、element tree树形控件:

    树形控件模糊查询
    :filter-node-method="filterNode" 对树节点进行筛选时执行的方法,返回 true 表示这个节点可以显示,返回 false 则表示这个节点会被隐藏。
    <el-input
      placeholder="输入关键字进行过滤"
      v-model="filterText">
    </el-input>
    
    <el-tree
      class="filter-tree"
      :data="data"
      :props="defaultProps"
      default-expand-all
      :filter-node-method="filterNode"
      ref="tree">
    </el-tree>
    <script>
      export default {
        data() {
          return {
            filterText: '',
            data:[] //数据
        },
        watch: {
          filterText(val) {
            this.$refs.tree.filter(val);
          }
        },
    
        methods: {
          filterNode(value, data) {
            if (!value) return true;
            return data.label.indexOf(value) !== -1;
          }
        },
      }
    </script>
    

    相关文章

      网友评论

          本文标题:vue/el-tree实现简单的模糊查询

          本文链接:https://www.haomeiwen.com/subject/zjpxwhtx.html