mirror of
https://github.com/qier222/YesPlayMusic.git
synced 2024-11-26 10:13:47 +08:00
fix(loginUsername): add throttle for search (#39)
This commit is contained in:
parent
f99dbac95f
commit
af30eb431d
|
@ -58,3 +58,13 @@ export function shuffleAList(list) {
|
|||
});
|
||||
return newSorts;
|
||||
}
|
||||
|
||||
export function throttle(fn, time) {
|
||||
let isRun = false;
|
||||
return function () {
|
||||
if (isRun) return;
|
||||
isRun = true;
|
||||
fn.apply(this, arguments);
|
||||
setTimeout(() => { isRun = false }, time);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<input
|
||||
:placeholder="$t('login.searchHolder')"
|
||||
v-model="keyword"
|
||||
@keydown.enter="search"
|
||||
@keydown.enter="throttleSearch"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -53,6 +53,7 @@ import NProgress from "nprogress";
|
|||
import { search } from "@/api/others";
|
||||
import Cookies from "js-cookie";
|
||||
import { userPlaylist } from "@/api/user";
|
||||
import { throttle } from '@/utils/common';
|
||||
|
||||
import ButtonTwoTone from "@/components/ButtonTwoTone.vue";
|
||||
|
||||
|
@ -74,6 +75,7 @@ export default {
|
|||
methods: {
|
||||
...mapMutations(["updateUser", "updateUserInfo"]),
|
||||
search() {
|
||||
if (!this.keyword) return;
|
||||
search({ keywords: this.keyword, limit: 9, type: 1002 }).then((data) => {
|
||||
this.result = data.result.userprofiles;
|
||||
this.activeUser = this.result[0];
|
||||
|
@ -93,6 +95,9 @@ export default {
|
|||
this.$router.push({ path: "/library" });
|
||||
});
|
||||
},
|
||||
throttleSearch: throttle(function () {
|
||||
this.search();
|
||||
}, 500)
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
Loading…
Reference in New Issue
Block a user