zoukankan      html  css  js  c++  java
  • Vue+elementUI+Laravel实现分页

    Laravel框架控制器方法:

    /*
         * 学生信息列表
         * 请求方式:get
         * 参数:null
         * */
        public function studentLists(){
            $data = Student::studentLists();
            foreach ($data as $k=>$v){
                $data[$k]['s_sex'] = $v['s_sex'] == 1 ? '男' : '女';
                $data[$k]['s_img'] = 'http://www.1707laravel.com/'.$v['s_img'];
            }
            return ['code'=>0,'msg'=>'查询成功','result'=>$data];
        }

    Laravel框架模型层方法

    public static function studentLists(){
            return self::join('room','student.class_id','=','room.c_id')->paginate(2);
        }

    Vue页面代码示例

    <template>
        <div>
            <h1>列表</h1>
            <el-table
            :data="tableData"
            style=" 100%">
    
                <el-table-column
                    prop="id"
                    label="主键id"
                    width="180">
                </el-table-column>
    
                <el-table-column
                    prop="address"
                    label="个人照片">
                    <template slot-scope="imgObj">
                        <img :src="imgObj.row.s_img" width="80" height="80" alt="">
                    </template>
                </el-table-column>
    
                <el-table-column
                    prop="s_name"
                    label="学生姓名"
                    width="180">
                </el-table-column>
    
                <el-table-column
                    prop="s_sex"
                    label="学生性别">
                </el-table-column>
    
                <el-table-column
                    prop="s_age"
                    label="学生年龄">
                </el-table-column>
    
                <el-table-column
                    prop="c_name"
                    label="所在班级">
                </el-table-column>
    
                <el-table-column
                    prop="s_address"
                    label="籍贯地址">
                </el-table-column>
    
            </el-table>
    
            <el-pagination 
            background 
            layout="prev, pager, next" 
            :page-size="pageSize"
            :total="total"
            @current-change="one"
            >
            </el-pagination>
        </div>
    </template>
    
    <script>
        export default {
          data() {
            return {
              tableData: [],
              total:0,//总条数
              pageSize:0, //每页显示条数
            }
          },
          created(){
              var obj = this;
              //这个方法表示的是初始化页面完成的时候执行的操作
              this.$axios.get('/api/student-lists')
              .then(function(res){
                  //获取到表格数据
                  obj.tableData = res.data.result.data;
                  obj.total = res.data.result.total;
                  obj.pageSize = res.data.result.to;
                //   console.log(res.data.result.data);
              })
          },
          methods:{
              one(val){
                var obj = this;
                this.$axios.get('/api/student-lists?page='+val)
                .then(function(res){
                    obj.tableData = res.data.result.data;
                })
              }
          }
        }
      </script>

    效果图:

  • 相关阅读:
    ZooKeeper基本原理
    Ubuntu上部署C# 网站 步骤简单记录
    代码生成助手
    微信授权封装,欢迎使用
    c#微信开发,使用JS-SDK自定义分享功能,分享朋友圈,分享给朋友等
    ab.exe使用
    【分享·微信支付】 C# MVC 微信支付教程系列之公众号支付
    SVN服务器搭建(一)
    MVC四大筛选器—ActionFilter&ResultedFilter
    MySQL参数化查询的IN 和 LIKE
  • 原文地址:https://www.cnblogs.com/jiangshiguo/p/12148242.html
Copyright © 2011-2022 走看看