From 2bdf38767338c6beb322c9eaad019e62db67861a Mon Sep 17 00:00:00 2001 From: chenshihai Date: Wed, 14 Dec 2022 14:14:49 +0800 Subject: [PATCH 1/3] repos square --- .../vuepages/pages/repos/components/ReposList.vue | 54 ++++++++++++++++------ .../vuepages/pages/repos/components/SearchBar.vue | 8 ++-- web_src/vuepages/pages/repos/search/index.vue | 31 ++++++++++--- web_src/vuepages/pages/repos/square/index.vue | 39 +++++++++++++--- 4 files changed, 102 insertions(+), 30 deletions(-) diff --git a/web_src/vuepages/pages/repos/components/ReposList.vue b/web_src/vuepages/pages/repos/components/ReposList.vue index 50e41f699..046a0112c 100644 --- a/web_src/vuepages/pages/repos/components/ReposList.vue +++ b/web_src/vuepages/pages/repos/components/ReposList.vue @@ -7,8 +7,9 @@
{{ $t('repos.noReposfound') }}
- +
@@ -25,15 +26,18 @@ export default { q: { type: String, default: '' }, sort: { type: String, default: 'mostpopular' }, topic: { type: String, default: '' }, + page: { type: Number, default: 1 }, + pageSize: { type: Number, default: 15 }, + pageSizes: { type: Array, default: () => [15, 30, 50] } }, components: { ReposItem }, data() { return { loading: false, list: [], - pageSizes: [15, 30, 50], - pageSize: 15, - page: 1, + iPageSizes: [15, 30, 50], + iPageSize: 15, + iPage: 1, total: 0, }; }, @@ -44,8 +48,8 @@ export default { q: this.q || '', topic: this.topic || '', sort: this.sort || 'mostpopular', - pageSize: this.pageSize || 15, - page: this.page || 1, + pageSize: this.iPageSize || 15, + page: this.iPage || 1, }).then(res => { res = res.data; this.loading = false; @@ -72,31 +76,42 @@ export default { } }); this.total = res.Data.Total; + this.iPage = this.iPage; + this.iPageSize = this.iPageSize; this.$nextTick(() => { LetterAvatar.transform(); }); } else { this.list = []; this.total = 0; + this.iPage = this.iPage; + this.iPageSize = this.iPageSize; } }).catch(err => { console.log(err); this.loading = false; this.list = []; this.total = 0; + this.iPage = this.iPage; + this.iPageSize = this.iPageSize; }); }, search() { - this.page = 1; this.getListData(); }, currentChange(page) { - this.page = page; - this.getListData(); + this.iPage = page; + this.$emit('current-change', { + page: this.iPage, + pageSize: this.iPageSize, + }); }, sizeChange(pageSize) { - this.pageSize = pageSize; - this.getListData(); + this.iPageSize = pageSize; + this.$emit('size-change', { + page: this.iPage, + pageSize: this.iPageSize, + }); }, handlerSearchStr(oStr, searchKey) { if (!searchKey) return oStr; @@ -109,7 +124,20 @@ export default { return colorList[tIndex % colorList.length]; } }, - watch: {}, + watch: { + page: { + handler(val) { + this.iPage = val; + }, + immediate: true, + }, + pageSize: { + handler(val) { + this.iPageSize = val; + }, + immediate: true, + } + }, mounted() { }, }; diff --git a/web_src/vuepages/pages/repos/components/SearchBar.vue b/web_src/vuepages/pages/repos/components/SearchBar.vue index a97ac1fbd..6e90418ef 100644 --- a/web_src/vuepages/pages/repos/components/SearchBar.vue +++ b/web_src/vuepages/pages/repos/components/SearchBar.vue @@ -3,7 +3,7 @@