美文网首页
vue分页功能

vue分页功能

作者: 五四青年_4e7d | 来源:发表于2020-04-02 00:18 被阅读0次
    import {mapState,mapMutations,mapGetters,mapActions} from 'vuex'
    export default      {
        data () {
          return {
            num1: 1,
            id:3,
            tabelBox:[], //表格渲染数据
            type:1,
            pageNum:3, //当前页码值
            pagesize:5,//每页显示多少条数据
            total:400,//总记录条数
    
          }
         
      },
      methods:{
        //点击加入购物车1.拿到商品的id(组件启用props:true属性)2.拿到购买的数量
        addTocart(){
         console.log('商品数量'+this.num1)
        //拼出来一个对象:
        const goodsInfo = {id:this.id,count:this.num1}
        //调用mutations方法传递数据
        this.addgoos(goodsInfo)
        },
        //监听计数器数量改变变换;
        handleChange(value) {
          console.log(value);
        },
        ...mapMutations(['addgoos']),
        //请求列表数据
      async  getlistTalel(){
          const {data:res} = await this.$http.get('https://cnodejs.org/api/v1/topics?',{params:{type:this.type,limit: this.pagesize,page:this.pageNum}})
          console.log('分页结果')
          console.log(res)
          console.log(res.data)
          //this.total = res.data.total值(唯一需要后台配合的)
          this.tabelBox = res.data
        },
        //监听页码值改变的状态
        handleCurrentChange(newpage){
          console.log(newpage)
        this.pageNum = newpage
        this.getlistTalel()
       
    
        }
      },
      // props:['id'],
      created(){
       this.getlistTalel()
        },
        
        computed:{
          ...mapGetters(['totle'])
        }
      
      }
    
    <template>
    <div class="released-container">
      <!-- 面包屑 导航-->
      <el-breadcrumb separator-class="el-icon-arrow-right">
      <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
      <el-breadcrumb-item>融媒体中心</el-breadcrumb-item>
      <el-breadcrumb-item>移动商城</el-breadcrumb-item>
      </el-breadcrumb>
      <!-- 卡片 -->
      <el-card class="box-card">
     
      <el-input-number v-model="num1" @change="handleChange" :min="1" :max="10" label="描述文字"></el-input-number>
      <el-button type="primary" icon="el-icon-success" @click="addTocart">加入购物车</el-button>
    
      <el-button type="primary" icon="el-icon-bell">结算:{{totle}}</el-button>
      
     <el-table
        :data="tabelBox"
        style="width: 100%">
        <el-table-column type="expand">
          <template slot-scope="props">
            <el-form label-position="left" inline class="demo-table-expand">
              <el-form-item label="来源详情:">
                <span><a :href="props.row.author.avatar_url" target="_blank">查看详情</a></span>
              </el-form-item>
              <el-form-item label="状态码">
                <span>{{ props.row.author.loginname }}</span>
              </el-form-item>
            </el-form>
          </template>
        </el-table-column>
        <el-table-column
          label="编号"
          prop="id">
        </el-table-column>
        <el-table-column
          label="标题"
          prop="title">
        </el-table-column>
        <el-table-column
          label="评论量"
          prop="visit_count">
        </el-table-column>
      </el-table>
    
     <!-- 页码改变触发的方法handleCurrentChange -->
      <div class="block">
        <el-pagination
      
          @current-change="handleCurrentChange"
          :current-page="pageNum"
    
          :page-size="pagesize"
          layout="total, prev, pager, next, jumper"
          :total="total">
        </el-pagination>
      </div>
      </el-card>
    
    </div>
    </template>
    
    <script>
    //使用mixins把行为分离,再使用mixins导入规范导入;
    import mix  from './media-mixins.js'
    
    export default      {
     mixins:[mix]
    }
    </script>
    
    
    <style  lang="less" scoped>
    .el-tag{
        margin:10px 5px;
    }
    .el-icon-caret-right{
        line-height: 50px;
    }
    .el-tabs{
          margin-top: 15px;
    }
      .demo-table-expand {
        font-size: 0;
      }
      .demo-table-expand label {
        width: 90px;
        color: #99a9bf;
      }
      .demo-table-expand .el-form-item {
        margin-right: 0;
        margin-bottom: 0;
        width: 50%;
      }
      .el-tag{
        margin-top: -1px;
      }
    </style>
    
    
    image.png

    相关文章

      网友评论

          本文标题:vue分页功能

          本文链接:https://www.haomeiwen.com/subject/evpnuhtx.html