From 59627e048fe085e8e678a60e202bfd8d62637016 Mon Sep 17 00:00:00 2001 From: lyswhut Date: Thu, 17 Oct 2019 10:58:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E7=A6=BB=E6=90=9C=E7=B4=A2=E6=A1=86?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E9=80=BB=E8=BE=91=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=A1=86=E6=90=9C=E7=B4=A2=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- publish/changeLog.md | 4 + src/renderer/components/core/Toolbar.vue | 99 ++++++++++++++++--- .../components/material/SearchInput.vue | 88 ++++++++--------- src/renderer/utils/index.js | 18 ++++ 4 files changed, 148 insertions(+), 61 deletions(-) diff --git a/publish/changeLog.md b/publish/changeLog.md index a4629e4e..84ac2ca4 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -3,6 +3,10 @@ - 新增网易云源歌曲搜索 - 新增网易云源歌单 +#### 优化 + +- 优化搜索框搜索体验 + #### 修复 - 修复QQ源歌单无法翻页Bug diff --git a/src/renderer/components/core/Toolbar.vue b/src/renderer/components/core/Toolbar.vue index 8b201914..ae95ee16 100644 --- a/src/renderer/components/core/Toolbar.vue +++ b/src/renderer/components/core/Toolbar.vue @@ -2,7 +2,9 @@ div(:class="$style.toolbar") //- img(v-if="icon") //- h1 {{title}} - material-search-input(:class="$style.input") + material-search-input(:class="$style.input" + @event="handleEvent" :list="tipList" :visibleList="visibleList" + v-model="searchText") div(:class="$style.control") button(type="button" :class="$style.min" title="最小化" @click="min") //- button(type="button" :class="$style.max" @click="max") @@ -11,22 +13,93 @@ diff --git a/src/renderer/utils/index.js b/src/renderer/utils/index.js index 938c78bc..b0126529 100644 --- a/src/renderer/utils/index.js +++ b/src/renderer/utils/index.js @@ -305,6 +305,24 @@ export const throttle = (fn, delay = 100) => { } } +/** + * 生成防抖函数 + * @param {*} fn + * @param {*} delay + */ +export const debounce = (fn, delay = 100) => { + let timer = null + let _args = null + return function(...args) { + _args = args + if (timer) clearTimeout(timer) + timer = setTimeout(() => { + timer = null + fn.apply(this, _args) + }, delay) + } +} + const async_removeItem = (arr, num, callback) => window.requestAnimationFrame(() => { let len = arr.length if (len > num) {