• home.vue修改表格的渲染,分页处将后台请求接口传入页面


    home.vue代码:

    <template>
      <el-container style="min-height: 100vh;">
        <el-aside :width="sideWidth + 'px'" style="background-color: rgb(238, 241, 246);  box-shadow: 2px 0 6px rgb(0 21 41);  height: 100%;  overflow: hidden">
          <el-menu :default-openeds="['1', '3']" style="min-height: 100%; overflow-x: hidden"
                   background-color="rgb(48, 65, 86)"
                   text-color="#fff"
                   active-text-color="#ffd04b"
                   :collapse-transition="false"
                   :collapse="isCollapse"
          >
            <div style="heigth:60px; line-height: 60px; text-align: center">
              <img src="../assets/logo.png" alt="" style=" 20px; position:relative; top: 5px; margin-right: 5px">
              <b style="color: white" v-show="logoTextShow">后台管理系统</b>
            </div>
    
            <el-submenu index="1">
              <template slot="title">
                <i class="el-icon-message"></i>
                <span slot="title">导航一</span>
              </template>
              <el-menu-item-group title="分组2">
                <el-menu-item index="1-3">选项3</el-menu-item>
              </el-menu-item-group>
              <el-submenu index="1-4">
                <template slot="title">选项4</template>
                <el-menu-item index="1-4-1">选项4-1</el-menu-item>
              </el-submenu>
            </el-submenu>
            <el-submenu index="2">
              <template slot="title">
                <i class="el-icon-menu"></i>
                <span slot="title">导航二</span>
              </template>
              <el-submenu index="2-4">
                <template slot="title">选项4</template>
                <el-menu-item index="2-4-1">选项4-1</el-menu-item>
              </el-submenu>
            </el-submenu>
            <el-submenu index="3">
              <template slot="title">
                <i class="el-icon-setting"></i>
                <span slot="title">导航三</span>
              </template>
              <el-submenu index="3-4">
                <template slot="title">选项4</template>
                <el-menu-item index="3-4-1">选项4-1</el-menu-item>
              </el-submenu>
            </el-submenu>
          </el-menu>
        </el-aside>
    
        <el-container>
          <el-header style="font-size: 12px; border-bottom: 1px solid #ccc; line-height: 60px; display: flex">
            <div style="flex:1; font-size: 20px">
              <span :class="collapseBtnClass" style="cursor:pointer" @click="collapse"></span>
            </div>
    
            <el-dropdown style=" 70px; cursor:pointer">
              <span>王小虎</span>
              <i class="el-icon-arrow-down" style="margin-right: 5px"></i>
              <el-dropdown-menu slot="dropdown">
                <el-dropdown-item>个人信息</el-dropdown-item>
                <el-dropdown-item>退出</el-dropdown-item>
              </el-dropdown-menu>
            </el-dropdown>
    
          </el-header>
    
          <el-main>
            <div style="padding: 10px 0px">
              <!--prefix-icon="el-icon-user",表示加一个搜素图标,设置在头-->
              <!--suffix-icon="el-icon-tickets"",表示加一个搜素图标,设置在尾-->
              <!--placeholder="请输入内容"",表示设置一个默认显示提示文字内容-->
              <el-input style=" 200px" placeholder="请输入人名" prefix-icon="el-icon-user"></el-input>
              <el-input style=" 200px" placeholder="请输入标题" suffix-icon="el-icon-tickets" class="ml-5"></el-input>
              <el-input style=" 200px" placeholder="请输入url"  prefix-icon="el-icon-link " class="ml-5"></el-input>
              <el-button class="ml-5" type="primary">搜索</el-button>
            </div>
    
            <!--两个div层之间都用margin,则会自动隔开-->
            <div style="margin: 10px 0px">
              <el-button type="primary">新增 <i class="el-icon-circle-plus-outline"></i></el-button>
              <el-button type="danger">批量删除 <i class="el-icon-remove-outline"></i></el-button>
              <el-button type="primary">导入 <i class="el-icon-bottom"></i></el-button>
              <el-button type="primary">导出 <i class="el-icon-top"></i></el-button>
            </div>
    
            <!--border stripe,表示加上斑马线-->
            <!--header-row-class-name="headerBg",表示设置表头颜色样式,headerBg为一个style样式类-->
            <el-table :data="tableData" border stripe :header-cell-class-name="headerBg">
                <el-table-column prop="id" label="ID" width="80"></el-table-column>
              <el-table-column prop="imgpeople" label="人名" width="140"></el-table-column>
              <el-table-column prop="imgtitle" label="标题" width="120"></el-table-column>
              <el-table-column prop="spliderimgurl" label="url" width="120">
    
              </el-table-column>
    
              <el-table-column lable="操作" width="200" align="center">
                <template slot-scope="scope">
                  <el-button type="success">编辑 <i class="el-icon-edit"></i></el-button>
                  <el-button type="danger">删除 <i class="el-icon-remove-outline"></i></el-button>
                </template>
              </el-table-column>
    
            </el-table>
    
            <div style="padding: 10px 0px">    <!--内边距空一些--><!--current-page,就是当前的页码-->
              <el-pagination
                      @size-change="handleSizeChange"
                      @current-change="handleCurrentChange"
                      :current-page="pageNum"
                      :page-sizes="[2, 5, 10, 20]"
                      :page-size="pageSize"
                      layout="total, sizes, prev, pager, next, jumper"
                      :total="total">
              </el-pagination>
              <!--1.page-sizes一般设置为5,101520-->
              <!--1.page-size一般设置为10,即每页10个-->
            </div>
          </el-main>
        </el-container>
      </el-container>
    </template>
    
    <script>
    // @ is an alias to /src
    import HelloWorld from '@/components/HelloWorld.vue'
    
    export default {
      name: 'Home',
      data(){
          const item = {
              date: '2016-05-02',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1518 弄'
          };
          return{
              tableData: [],
              total:0,
              pageNum:1,
              pageSize:2,
              collapseBtnClass: 'el-icon-s-fold',
              isCollapse: false,
              sideWidth: 200,
              logoTextShow:true,
              headerBg:"headerBg"
          }
      },
      created(){
          //请求分页查询数据,用fetch
          this.load()
      },
    
      methods:{
          collapse(){  //点击搜索按钮触发
              this.isCollapse= !this.isCollapse
              if(this.isCollapse){//收缩
                this.sideWidth = 64
                this.collapseBtnClass = 'el-icon-s-unfold'
                this.logoTextShow = false
              }else{ //展开
                this.sideWidth = 200
                this.collapseBtnClass = 'el-icon-s-fold'
                this.logoTextShow = true
              }
          },
          load(){
              //请求分页查询数据,用fetch
              //fetch第一个参数为url
              //将出来的结果res,通过res.json的方法,将它转为一个json,然后再使用一个then,打印json
              fetch("http://192.168.0.104:9090/spider/page?pageNum="+this.pageNum+"&pageSize="+this.pageSize+"&img_people&img_title=王").
              then(res=>res.json()).then(res=>{
                      console.log(res)
                      this.tableData = res.records
                      this.total = res.total})
          },
          handleSizeChange(pageSize){
              console.log(`每页 ${pageSize} 条`);
              this.pageSize = pageSize
              this.load()
          },
          handleCurrentChange(pageNum){
              console.log(`当前页: ${pageNum}`);
              this.pageNum = pageNum
              this.load()
          }
    
      }
    }
    </script>
    
    <style>
      .headerBg {
        background: #eeeeee!important;
      }
    </style>
  • 相关阅读:
    python-记录一个unittest坑,xmlrunner没有生成对应的xml文件的问题
    python学习_新闻联播文字版爬虫(V 1.0.2版)
    python学习_新闻联播文字版爬虫(V 1.0.1版)
    python学习_新闻联播文字版爬虫(V 1.0版)
    http学习--常用请求方法和响应状态码
    怕个球!大不了从头再来!!!
    MySQL--关于MySQL的那些练习题
    MySQL--关于MySQL练习过程中遇到的AVG()函数处理空值的问题
    shell练习--PAT试题1010:一元多项式求导 (25 分)(失败案例喜加一)
    ios MJRefresh 上拉死循环刷新问题+git 图片
  • 原文地址:https://www.cnblogs.com/jingzaixin/p/16390544.html
Copyright © 2020-2023  润新知