123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <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>
|