Blame view
src/views/tree/index.vue
1.42 KB
80a28914e init |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
<template> <div class="app-container"> <el-input v-model="filterText" placeholder="Filter keyword" style="margin-bottom:30px;" /> <el-tree ref="tree2" :data="data2" :props="defaultProps" :filter-node-method="filterNode" class="filter-tree" default-expand-all /> </div> </template> <script> export default { data() { return { filterText: '', data2: [{ id: 1, label: 'Level one 1', children: [{ id: 4, label: 'Level two 1-1', children: [{ id: 9, label: 'Level three 1-1-1' }, { id: 10, label: 'Level three 1-1-2' }] }] }, { id: 2, label: 'Level one 2', children: [{ id: 5, label: 'Level two 2-1' }, { id: 6, label: 'Level two 2-2' }] }, { id: 3, label: 'Level one 3', children: [{ id: 7, label: 'Level two 3-1' }, { id: 8, label: 'Level two 3-2' }] }], defaultProps: { children: 'children', label: 'label' } } }, watch: { filterText(val) { this.$refs.tree2.filter(val) } }, methods: { filterNode(value, data) { if (!value) return true return data.label.indexOf(value) !== -1 } } } </script> |