【发布时间】:2019-03-12 20:47:37
【问题描述】:
晚安
我正在尝试使用 Vuetify 和 Laravel 进行服务器端分页。
但是 Vuetify 提供的方法并没有让我正确地做到这一点。我有一个完整的页面,我想用 Vuetify 组件实现。
我附上我用简单的引导程序编写的代码。
<ul class="pagination">
<li class="page-item" v-if="pagination.current_page > 1">
<v-btn flat icon color="red lighten-2">
<v-icon @click.prevent="changePage(pagination.current_page - 1, search)">thumb_down</v-icon>
</v-btn>
</li>
<li class="page-item" v-for="page in pagesNumber" :key="page" :class="[page == isActived ? 'active' : '']">
<v-btn fab dark color="indigo" @click.prevent="changePage(page, search)" v-text="page">
</v-btn>
</li>
<li class="page-item" v-if="pagination.current_page < pagination.last_page">
<v-btn flat icon color="red lighten-2">
<v-icon @click.prevent="changePage(pagination.current_page + 1, search)">thumb_down</v-icon>
</v-btn>
</li>
</ul>
页面到服务器的方法:
methods:{
get(page, search){
let url = `http://127.0.0.1:8000/api/articles?page=${page}&search=${search}`;
axios.get(url)
.then( response => {
let res = response.data
this.products = res.articles.data;
this.pagination = res.pagination;
})
.catch(function (error) {
console.log(error);
})
},
changePage(page, search){
this.pagination.current_page = page;
this.get(page, search);
},
},
前面的代码可以正常工作,但没有实际使用 Vuetify 组件的分页。
使用 Vuetify 组件进行分页我只显示分页的长度,但我无法在服务器提供的页面之间传递。
<v-pagination
v-model="pagination.current_page"
:length="pagination.total"
prev-icon="mdi-menu-left"
next-icon="mdi-menu-right"
@input="next"
></v-pagination>
找资料表明使用@input="next"可以调用方法跳转到下一页但是用什么返回呢? p>
我如何点击任何页码并向服务器请求页面,就像我使用引导程序制作的代码一样?
希望能帮上忙,谢谢。
【问题讨论】:
标签: laravel pagination vuejs2 vuetify.js