首页 > 其他分享 >vue分页组件

vue分页组件

时间:2023-11-06 10:25:16浏览次数:39  
标签:vue 分页 val value current 组件 currentPage data emit

<template>
  <div>
    <div class="block" style="margin: 2% 25%;">
            <el-pagination
                layout="total, prev, pager, next, jumper"
                :total="value.page"
                
                @prev-click="last"
                @next-click="next"
                @current-change="go"
                >
            </el-pagination>
        </div>
  </div>
</template>

<script>
export default {
    data(){
        return {
            currentPage:1,
        }
    },
    props:['value'],
    methods:{
        next(){
            this.currentPage+=1
            this.$emit('next',this.currentPage)
        },
        last(){
            this.currentPage-=1
            this.$emit('last',this.currentPage)
        },
        go(val){
            this.currentPage=val
            this.$emit('exchange',val)
        }
    },
    watch:{
        value(){
            this.currentPage = this.value.current_page
        }
    }
}
</script>

<style>

</style>

 

:data="dis"        

<to-page :value="{
            page : 表格行数,
            current_page:current_page
            }" 
                @exchange="exchange"
            ></to-page>


<script>
import ToPage from '组件路径'

export default {
  components: { ToPage },
    data() {
      return {
        current_page:1,
        dis:[]
      }
    },
    methods:{
        exchange(val){
            console.log(val)
            this.current_page = val
        }
    },
    mounted(){
        for (let i=0;i<30;i++)
            this.tableData.push(this.tableData[0])
        
        for (let i=this.current_page-1;i<10;i++)
            this.dis.push(this.tableData[i])
    },
    watch:{
        current_page(){
            this.dis = []
            for (let i=(this.current_page-1)*10;i<this.tableData.length;i++)
                this.dis.push(this.tableData[i])
            }
    }
}
</script>

 

标签:vue,分页,val,value,current,组件,currentPage,data,emit
From: https://www.cnblogs.com/cocotun/p/17811923.html

相关文章

  • 优雅设计之美:实现Vue应用程序的时尚布局
    前言页面布局是减少代码重复和创建可维护且具有专业外观的应用程序的基本模式。如果使用的是Nuxt,则可以提供开箱即用的优雅解决方案。然而,令人遗憾的是,在Vue中,这些问题并未得到官方文档的解决。经过多次尝试,小编得出了一个运行良好且可扩展而不会令人头疼的架构的模式。下面用一......
  • vue 网络图片访问不到,403的解决办法(详解)
    index.html中添加 <metaname="referrer"content="no-referrer"/>原因:防盗链的机制:通过页面的referrer信息,判断访问者来源,是否本站点,然后对图片等请求作出相应no-referrer:1、整个Referer首部包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进......
  • Vue3 echarts 组件化使用 resizeObserver
    点击查看代码constresizeObserver=ref(null);//进行初始化和监听窗口变化onMounted(async()=>{awaitnextTick(()=>{initChart();setOptions(options.value,opts.value??true);});window.addEventListener('resize',handleResize);resizeO......
  • 第五步:vue-拦截器
      //interceptors:拦截器axios.interceptors.request.use(x=>{varuserinfo=window.localStorage.getItem(config.userkey);if(userinfo){varuser=JSON.parse(userinfo);x.headers.Authorization=`Bearer${user.userToken}`}returnx......
  • Linux脚本:批量启动docker容器、批量启动springboot、批量启动Vuejs
    批量启动springboot#!/bin/bash#检查容器是否已经启动check_container(){sudodockerps|grep"$1">/dev/nullif[$?-ne0];thenecho"$1containerisnotrunning.Starting$1..."sudodockerstart"$1"elseecho......
  • WSL 运行vue项目
    1.运行vue项目因为wsl环境的不同,使用npmrunserve运行vue项目失败,提示错误vue-cli-service未找到。经过测试,发现yarn可以顺利的运行项目。#首先安装vue所需的模块yarninstall#然后运行项目yarnserve ......
  • SortableJS:vuedraggable实现元素拖放排序
    文档:https://sortablejs.github.io/Sortable/github:https://github.com/SortableJS/SortableVue2:https://github.com/SortableJS/Vue.DraggableVue3:https://github.com/SortableJS/vue.draggable.nextnpmhttps://www.npmjs.com/package/vuedraggable#vue2npminst......
  • Vue学习笔记6:深度监视
    6.深度监视监视number.a的变化:<!--准备好一个容器--><divid="root"><h3>a的值是:{{numbers.a}}</h3><button@click="numbers.a++">点我让a+1</button></div><scripttype="text/javascript">......
  • Vue学习笔记5:监视属性
    5.监视属性在watch中通过一个配置(isHot),监视data中的isHot这个属性,以及info这个计算属性。<!--准备好一个容器--><divid="root"><h2>今天天气很{{info}}</h2><!--绑定事件的时候:@xxx="yyy"yyy可以写一些简单的语句--><!--<button@click="isHot=......
  • Vue项目使用“花生壳“制作内网穿透---->步骤
     软件下载注册登录实名认证设置映射修改vue.config.js: const{defineConfig}=require('@vue/cli-service')module.exports=defineConfig({transpileDependencies:true,devServer:{historyApiFallback:true,disableHostCheck:true,//allowedHos......