page.vue 949 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <template>
  2. <div id="page">
  3. <el-row>
  4. <el-col :span="24" class="main">
  5. <van-pagination v-model="currentPage" @change="changePage" :total-items="total" :items-per-page="limit" :show-page-size="5" force-ellipses />
  6. </el-col>
  7. </el-row>
  8. </div>
  9. </template>
  10. <script>
  11. import { mapState, createNamespacedHelpers } from 'vuex';
  12. export default {
  13. name: 'page',
  14. props: {
  15. total: { type: Number },
  16. limit: { type: Number, default: () => 6 },
  17. },
  18. components: {},
  19. data: function () {
  20. return {
  21. currentPage: 1,
  22. };
  23. },
  24. created() {},
  25. methods: {
  26. changePage(page) {
  27. this.$emit('search', { skip: (page - 1) * this.limit });
  28. },
  29. },
  30. computed: {
  31. ...mapState(['user']),
  32. },
  33. metaInfo() {
  34. return { title: this.$route.meta.title };
  35. },
  36. watch: {
  37. test: {
  38. deep: true,
  39. immediate: true,
  40. handler(val) {},
  41. },
  42. },
  43. };
  44. </script>
  45. <style lang="less" scoped></style>