<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      vxe-tree vue 樹組件實現(xiàn)關(guān)鍵字搜索

      vxe-tree vue 樹組件實現(xiàn)關(guān)鍵字搜索

      查看官網(wǎng):https://vxeui.com
      gitbub:https://github.com/x-extends/vxe-pc-ui
      gitee:https://gitee.com/x-extends/vxe-pc-ui

      tree_search_light

      代碼

      實現(xiàn)方式通過輸入框輸入內(nèi)容,對數(shù)據(jù)進(jìn)行篩選過濾

      <template>
        <div>
          <div>
            <vxe-input v-model="filterName" type="search" clearable @change="searchEvent"></vxe-input>
          </div>
      
          <vxe-tree ref="treeRef" class="mytree-list" v-bind="treeOptions">
            <template #title="{ node }">
              <span v-html="node.title"></span>
            </template>
          </vxe-tree>
        </div>
      </template>
      
      <script setup>
      import { ref, reactive, nextTick } from 'vue'
      import XEUtils from 'xe-utils'
      
      const treeRef = ref()
      
      const allData = [
        { title: '節(jié)點2', id: '2' },
        {
          title: '節(jié)點3',
          id: '3',
          children: [
            { title: '節(jié)點3-1', id: '31' },
            {
              title: '節(jié)點3-2',
              id: '32',
              children: [
                { title: '節(jié)點3-2-1', id: '321' },
                { title: '節(jié)點3-2-2', id: '322' }
              ]
            },
            {
              title: '節(jié)點3-3',
              id: '33',
              children: [
                { title: '節(jié)點3-3-1', id: '331' },
                { title: '節(jié)點3-3-2', id: '332' },
                { title: '節(jié)點3-3-3', id: '333' }
              ]
            },
            { title: '節(jié)點3-4', id: '34' }
          ]
        },
        {
          title: '節(jié)點4',
          id: '4',
          children: [
            {
              title: '節(jié)點4-1',
              id: '41',
              children: [
                { title: '節(jié)點4-1-1', id: '411' },
                { title: '節(jié)點4-1-2', id: '412' }
              ]
            },
            { title: '節(jié)點4-2', id: '42' },
            {
              title: '節(jié)點4-3',
              id: '43',
              children: [
                { title: '節(jié)點4-3-1', id: '431' },
                { title: '節(jié)點4-3-2', id: '432' }
              ]
            }
          ]
        },
        { title: '節(jié)點5', id: '5' }
      ]
      
      const filterName = ref('')
      
      const treeOptions = reactive({
        childrenField: 'childList',
        data: []
      })
      
      const handleSearch = () => {
        const filterVal = XEUtils.toValueString(filterName.value).trim().toLowerCase()
        if (filterVal) {
          const filterRE = new RegExp(filterVal, 'gi')
          const rest = XEUtils.searchTree(allData, item => {
            return String(item.title).toLowerCase().indexOf(filterVal) > -1
          }, { children: 'children', mapChildren: 'childList', isEvery: true })
          XEUtils.eachTree(rest, item => {
            item.title = String(item.title).replace(filterRE, match => `<span class="keyword-highlight">${match}</span>`)
          }, { children: 'childList' })
          treeOptions.data = rest
        } else {
          const rest = XEUtils.searchTree(allData, () => true, { children: 'children', mapChildren: 'childList', isEvery: true })
          treeOptions.data = rest
        }
        // 搜索之后默認(rèn)展開所有子節(jié)點。清除搜索之后默認(rèn)收起所有子節(jié)點
        nextTick(() => {
          const $tree = treeRef.value
          if ($tree) {
            $tree.setAllExpandNode(!!filterVal)
          }
        })
      }
      
      // 節(jié)流函數(shù),間隔500毫秒觸發(fā)搜索
      const searchEvent = XEUtils.throttle(function () {
        handleSearch()
      }, 500, { trailing: true, leading: true })
      
      handleSearch()
      </script>
      
      <style lang="scss" scoped>
      .mytree-list {
        ::v-deep(.keyword-highlight)  {
          background-color: #FFFF00;
        }
      }
      </style>
      

      https://gitee.com/x-extends/vxe-pc-ui

      posted @ 2025-07-11 11:12  可不簡單  閱讀(82)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日韩无专区精品中文字幕| 婷婷久久综合九色综合88| 亚洲国产综合性亚洲综合性| 国产精品久久露脸蜜臀| 九九成人免费视频| 亚洲中文精品一区二区| 一区二区三区AV波多野结衣| 成人亚欧欧美激情在线观看| 老熟妇仑乱一区二区视頻| 亚洲国产欧美在线观看片| 国产在线一区二区在线视频 | 亚洲日韩中文字幕在线播放| 亚洲天堂网中文在线资源| 一区二区和激情视频| 夏津县| 国产区成人精品视频| 国产女主播一区| 东方四虎在线观看av| 国产精品一区二区三区91| 好吊视频一区二区三区| 成人一区二区人妻不卡视频| 中文字幕国产精品专区| 97人人超碰国产精品最新| 欧美牲交a欧美牲交aⅴ一| 国产欧美VA天堂在线观看视频| 连南| 中文字幕制服国产精品| 日韩av综合中文字幕| 邛崃市| 国产精品久久久久久久专区| 韩国精品一区二区三区| 国产精品最新免费视频| 一区二区三区四区国产综合 | 伊伊人成亚洲综合人网7777| 国产在线午夜不卡精品影院| 国产精品天干天干综合网| 激情伊人五月天久久综合| 亚洲国产日韩A在线亚洲| 无码日韩精品一区二区三区免费| 国产美女裸身网站免费观看视频 | 亚洲av成人精品日韩一区|