Vue-element-admin 学习之路

Vue-element-admin el-table将接口传入

2019-12-11  本文已影响0人  璃小灯吖

在开发中遇到了这样一个问题,就是接好接口以后数据库中传入的值为'true'和'false'这样的布尔值或者是'0' , '1' , '2'这样数字,还有一种是传入的是时间戳也就是类似'1575949565559'这样子,而实际上他们是有相对应的中文值的,这里提供一种转换的思路。

1、布尔类型转换

一般来说像这种返回结果,在数据库中存储的值都是布尔类型的。例:


而我想要的效果是



其实很简单,在el-table-column中加入一个<template slot-scope="scope"></template>就可以实现。这应该是文档中关于插槽的内容。
我实现的代码:注意prop值要相对应

<el-table-column label="登录结果" prop="result" align="center" width="130px">
        <template slot-scope="scope">{{ !!(scope.row.result)?'成功':'不成功' }}</template>
</el-table-column>

2、数字类型

同样我又遇到了另外一个问题,就是当传过来的值是数字类型的话怎样用三元运算符来解决呢。可以看到接口中传入的是数字。



实际上我想要的是



实现代码有两种:
一是类似布尔类型,在三元运算符中加入判断,以及嵌套实现。
<el-table-column label="类型" prop="type" align="center" width="80px">
        <template slot-scope="scope">
          {{ scope.row.type == 1 ? '表单' : scope.row.type == 2 ?'列表': '' }} 
        </template>
      </el-table-column>

第二种方法:

<el-table-column label="类型" prop="type" align="center" width="80px">
        <template slot-scope="scope">
          {{ map[scope.row.type] }}
        </template>
</el-table-column>

在data中定义一个map存储根据map的值来对应转换的数据

 data() {
    return {
        map: {
          1: '表单',
          2: '列表',
          3: '列表和打印'
      }
    }
  },

3、时间戳转换

我又遇到了一个从数据库中导入时间后,显示的是这样的= =什么鬼,查了一下原来是时间戳。这里一起写了解决方法。



HTML中的代码:利用element-UI 的 formatter 进行转换

      <el-table-column label="创建时间" prop="createTime" :formatter="timestampToTime" align="center" width="140" />

在methods中写一个 timestampToTime 这样的方法

// 时间戳转化为时间
timestampToTime(row, column) {
        var date = new Date(row.createTime) // 时间戳为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
    },

就可以看到是这样的效果啦~


4、参考文档

这部分内容参考官网文档:https://element.eleme.cn/#/zh-CN/component/table
关于插槽的文档:https://cn.vuejs.org/v2/guide/components-slots.html
关于日期格式的文档:https://element.eleme.cn/#/zh-CN/component/date-picker#ri-qi-ge-shi

上一篇下一篇

猜你喜欢

热点阅读