vue.js和laravel使用vue-bootstrap-pagination插件分页

10 篇文章 0 订阅
3 篇文章 0 订阅

原文博客地址 http://www.xiegaosheng.com/post/view?id=89;

 

前端使用的是vue.js后端使用的是laravel获取到接口的数据,

vue-bootstrap-pagination所需要的数据格式记录一下;

<div class='col-lg-5'>

      <table class="table table-striped">
            <caption>客户端明细</caption>
            <thead>
              <tr>
                <th>  AP_id</th>
                <th>日期</th>
                <th>信噪比</th>
                <th>Mac</th>
                <th>iP</th>
              </tr>
            </thead>
            <tbody>
              <tr v-for="item in clientlist">
                <td>{{item.ap_id}}</td>
                <td>{{item.connect_time*1000 | formatDate }}</td>
                <td>{{item.snr }}</td>
                <td>{{item.mac }}</td>
                <td>{{item.ip }}</td>
              </tr>
               <tr>
                    <td colspan="4">
                        <pagination :pagination="pagination" :callback="loadData" :options="paginationOptions"></pagination>
                    </td>
               </tr>
            </tbody>
          </table>



    </body>

</div>

 

js代码;

<script>

import pagination from 'vue-bootstrap-pagination'

export default{
    components: {
        pagination,
    },
    
    data(){
  return{
  
   pagination: {
        per_page: 10,    // required
        current_page: 1, // required
        last_page: 0,    // required
     },
     paginationOptions: {
       offset: 4,
       previousText: 'Prev',
       nextText: 'Next',
       alwaysShowPrevNext: true
     },
  }
},
mounted() {
        
        this.loadData()
},
methods: {
  
  
   loadData() {
         const options = {
           params: {
             paginate:this.pagination.per_page,
             page:this.pagination.current_page,
             /* additional parameters */
           }
         };
         this.$http.get(test, options)
           .then(response => {
             this.pagination = response.body.data; // API response edited to have pagination data under pagination object
             this.clientlist = response.body.list;
                console.log(this.pagination.current_page);
            })
            .catch(error => {
            console.log(error);
               // handle error
            });
       }
}
    
}

</script>

 

laravel5后端返回的数据格式

{
	"code": "200",
	"msg": "success",
	"data": {
		"total": "37",
		"per_page": 10,
		"current_page": "1",
		"last_page": 4
	},
	"list": [{
		"ap_id": 2,
		"connect_time": 1520400023,
		"snr": "34",
		"mac": "FC:42:03:12:E3:93",
		"role": "Etone-phone",
		"username": "android-1d5a1ecb4d75d963",
		"ip": "192.168.1.61"
	}, {
		"ap_id": 2,
		"connect_time": 1520400209,
		"snr": "30",
		"mac": "2C:D0:5A:F8:39:06",
		"role": "Etone-phone",
		"username": "LTC4WC5UB6Q74LV",
		"ip": "172.16.1.130"
	}, {
		"ap_id": 3,
		"connect_time": 1520401071,
		"snr": "49",
		"mac": "34:69:87:5C:13:55",
		"role": "Etone-phone",
		"username": "android-b00946324c2fa5a8",
		"ip": "192.168.1.24"
	}, {
		"ap_id": 5,
		"connect_time": 1520426730,
		"snr": "26",
		"mac": "A0:88:69:8E:7D:03",
		"role": "Etone-phone",
		"username": "DESKTOP-QB61I85",
		"ip": "192.168.1.72"
	}, {
		"ap_id": 2,
		"connect_time": 1520465988,
		"snr": "43",
		"mac": "00:27:10:2F:A0:A4",
		"role": "Etone-phone",
		"username": "DESKTOP-04TPH5T",
		"ip": "192.168.1.70"
	}, {
		"ap_id": 5,
		"connect_time": 1520468225,
		"snr": "56",
		"mac": "B8:EE:65:E2:0B:DB",
		"role": "Etone-phone",
		"username": "PC201609160942",
		"ip": "192.168.1.125"
	}, {
		"ap_id": 5,
		"connect_time": 1520471375,
		"snr": "44",
		"mac": "00:1F:5B:C3:4D:86",
		"role": "Etone-phone",
		"username": "WIN-QPK6S4T5JH8",
		"ip": "192.168.1.107"
	}, {
		"ap_id": 3,
		"connect_time": 1520471558,
		"snr": "40",
		"mac": "E4:02:9B:AF:87:6E",
		"role": "Etone-phone",
		"username": "DESKTOP-UBG1T70",
		"ip": "192.168.1.56"
	}, {
		"ap_id": 3,
		"connect_time": 1520472108,
		"snr": "54",
		"mac": "24:FD:52:6B:C3:84",
		"role": "Etone-phone",
		"username": "PC201606031240",
		"ip": "192.168.1.26"
	}, {
		"ap_id": 2,
		"connect_time": 1520472592,
		"snr": "58",
		"mac": "AC:BC:32:8A:EB:7D",
		"role": "Etone-phone",
		"username": "yinyuehuideMBP",
		"ip": "192.168.1.132"
	}]
}

效果如下

image.png

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢高升

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值