Element 分页组件使用、时间转换

2022-11-29 19:27:22 浏览数 (1)

Element,‘饿了吗’,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库,使用这个分页组件遇到的坑记录一下。

组件:

代码语言:javascript复制
    <el-pagination
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :current-page="currentPage"
      :page-sizes="[5,10,20]"
      :page-size="10"
      layout="total, sizes, prev, pager, next, jumper"
      :total="total">
    </el-pagination>

js代码:

代码语言:javascript复制
    data() {
      return {
        list: [],
        total: 0, // 总记录数
        currentPage: 1, // 当前页
        pageSize: 10, // 每页大小
        searchMap: {}, // 查询条件
        dialogFormVisible: false, // 编辑窗口是否可见
        pojo: {}, // 编辑表单绑定的实体对象
        id: '' // 当前用户修改的ID
      }
    }

方法代码:

代码语言:javascript复制
     fetchData() {
        userApi.search(this.currentPage, this.pageSize, this.searchMap).then(response => {
          this.list = response.data.rows
          this.total = response.data.total
        })
      },
      handleSizeChange(val) {
        //改变每页显示的条数的时候  自动触发
        this.pageSize = val;  //动态改变每页大小
        userApi.search(this.currentPage, val, this.searchMap).then(response => {
          this.list = response.data.rows
          this.total = response.data.total
        })
      },
      handleCurrentChange(val) {
        // 当前页码改变之后,触发这个函数
        this.currentPage = val;    //动态改变当前页
        userApi.search(val, this.pageSize, this.searchMap).then(response => {
          this.list = response.data.rows
          this.total = response.data.total
        })
      }

时间戳转成普通时间方法代码:

代码语言:javascript复制
      timestampToTime (row, column) {
        var date = new Date(row.regdate) //时间戳为10位需*1000,时间戳为13位的话不需乘1000
        var Y = date.getFullYear()   '-'
        var M = (date.getMonth() 1 < 10 ? '0' (date.getMonth() 1) : date.getMonth() 1)   '-'
        var D = date.getDate()   ' '
        var h = date.getHours()   ':'
        var m = date.getMinutes()   ':'
        var s = date.getSeconds()
        return Y M D h m s
      }

使用:

代码语言:javascript复制
      <el-table-column prop="regdate" label="注册日期" :formatter="timestampToTime"></el-table-column>
      <el-table-column prop="updatedate" label="修改日期" :formatter="timestampToTime"></el-table-column>

总结:特别要注意每次切换页码和展示量的时候,要动态修改对应页码,不然会出现切换页码还是展示默认10条数据量,代码有注释,可以看(//动态改变当前页)

0 人点赞