vue_elementui_formatter的使用方法_elementui提取table表格使用formatter方法

2023-11-16

后台管理系统中用到了非常多的表格,一般为了方便都会讲表格进行提取,形成公共组件。
提取表格时会遇到返回的json数据中要对单个字段进行处理,如时间戳转换,状态转换等

封装的表格组件代码

<template>
  <div>
    <!-- 中部列表表格 -->
    <el-table
      :data="tableData"
      highlight-current-row
      border
      @selection-change="handleSelectionChange"
      @current-change="handtable"
    >
      <el-table-column type="selection" width="50" align="center" v-if="gg?true:false"></el-table-column>
      <el-table-column label="序号" type="index" width="50" align="center" :index="indexMethod"></el-table-column>
      <el-table-column
        v-for="(itemtest, index) in title"
        :key="index"
        v-if="!itemtest.operate"
        :prop="itemtest.prop"
        align="center"
        :label="itemtest.label"
        :formatter="itemtest.formatter"
      ></el-table-column>
      <el-table-column v-else :label="itemtest.label" :prop="itemtest.prop" align="center">
        <template slot-scope="scope">
          <slot :name="itemtest.prop" :$index="scope.$index" :row="scope.row"></slot>
          <!-- 对应slot name -->
        </template>
      </el-table-column>
    </el-table>
  </div>
</template>
<script>
export default {
  name: "tabletable",
  props: {
    title: {
      type: Array,
      default: []
    },
    tableData: {
      type: Array,
      default: []
    },
    gg:Boolean,
    formatter: { default: {} },  //此处写上formatter函数
    handleSelectionChange: { default: {} },
    handtable: { default: {} },
    indexMethod: { default: {} },
   
  },
  methods: {
  }
};
</script>

调用封装的表格代码

<template>
  <div>

    <!-- 中部列表表格 -->
    <v-Table
      :tableData="tableData"
      :title="title"
      :gg="false"
      :indexMethod="indexMethod"
      :handleClick="handleClick"
      :handtable="handtable"
    >
          <template slot="dealScreenshot" slot-scope="scope">  // slot="dealScreenshot" 要与下列的表格一致
        <el-button size="small" type="text" @click="handleRowEdit(scope.$index,scope.row)">查看</el-button>
      </template>
    </v-Table>
  </div>
</template>
<script>
import vTable from "@/components/comiview/table.vue";
import { formDatetime } from "@/utils/formdata.js";  //封装的js方法
import { orderState } from "@/utils/orderState.js";//封装的js方法
export default {
  components: {
    vTable
  },
  name: "account",
  data() {
    return {
      tableData: [
        {
          orderCode: "1",
          payStatus: "1",
          createTime: "",
        }
      ],
      title: [
        { label: "用户名", prop: "orderCode",  operate: false },
        {
          label: "账户状态",
          prop: "payStatus",
            operate: false,
          //状态格式转换
          formatter: (value, column) => {     //写上formatter函数
            let payStatus = orderState(value, column);  //这里可以调用写好的函数也可以直接处理数据
            return payStatus;
          }
        },
        {
          label: "注册时间",
          prop: "createTime",
            operate: false,
          //时间格式转换
          formatter: (value, column) => {
            let time = formDatetime(value, column);
            return time;
          },
        },
         {
          prop: "dealScreenshot",   //要与上面预留的slot位置一致
          label: "收款凭证",
          operate: true,
        }
      ]
    };
  },
  watch: {},
  created() {
   
  },
  methods: {
    indexMethod(index) {
      //设置序列号
      return (
        (Number(this.formInline.startNo) - 1) *
          Number(this.formInline.pageSize) +
        index +
        1
      );
    },
    handleClick(val) {},


  }
};
</script>

封装的js方法

// 13位时间戳转字符串

import moment from "moment";

function formDatetime(row, column) {
  let date = row[column.property];
  if (date == undefined) {
    return "";
  }
  return moment(date).format("YYYY-MM-DD HH:mm:ss");
}

function formDa(row, column) {
  let date = row[column.property];
  if (date == undefined) {
    return "";
  }
  return moment(date).format("YYYY-MM-DD");
}



export {
  formDatetime,
  formDa
  
}

elementui提取table表格使用formatter方法,展示效果
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue_elementui_formatter的使用方法_elementui提取table表格使用formatter方法 的相关文章

  • 动态规划法--求数组中最大子集合的和

    例题 给定一个数组int a 9 1 3 5 1 7 5 3 1 计算数组中连续的最大和以及出现的位置 输出 下标1到5位连续的最大和为15 首先看到这种题目 我的第一反应 就是用冒泡排序的思想去做 public class zuoye p
  • A*自动寻路算法—java版(八方向版)

    上一篇博客分享了Java版的自动寻路 但是只是上下左右四个方向的 今天把八方向的也分享出来 既然四方向的已经成功了 那么改进成八方向的 只要注意两个地方就可以了 一个是获取四周方块的时候 一个是移动的时候 一 获取四周方块 在autofin
  • Centos 配置yum 的几种方式、

    一 yum 的 基础运用 1 命令形式 yum option command package 选项 option h 帮助 y 直接安装的意思yes q 不显示安装的过程 其他的可以通过 yum h 查看 同样 command 也通过 yu

随机推荐

  • 机器学习之基于LDA的人脸识别

    目录 LDA降维 思想 matlab代码 fisherface 思想 matlab代码 人脸识别 思想 matlab代码 LDA降维 思想 首先 代码通过使用dir函数获取指定路径下所有以 bmp 结尾的文件 并存储在变量pictures中
  • idea中 maven 本地仓库有jar包,但还是找不到,解决打包失败和无法引用的问题

    如果这篇文章能帮到大家 并且你也想了解程序员的 副业 请关注博主的微信公众号 程序员副业笔记 因为maven私服挂了 无法下载jar包 通过阿里云公共仓库下载的jar 然后放入本地仓库后 还是无法引用 打包报错 百度了一下问题的解决办法 因
  • 思考:开源软件的开发过程,以及商业使用 (*****)

    明确软件的具体用途 功能 以及迭代的各种边界 如果不将所需的软件进行集合化 那么 像 github 中的软件那样 自己去搜索 筛选 测试等等 这是一件很耗费时间和精力的事情 编写和筛选各种所需的库 或其他 优先筛选已有的 现成的开源库 以及
  • 数据库连接池实现原理

    数据库连接池的基本原理是在内部对象池中维护一定数量的数据库连接 并对外暴露数据库连接获取和返回方法 如 外部使用者可通过getConnection 方法获取连接 使用完毕后再通过releaseConnection 方法将连接返回 注意此时连
  • uniapp中uni.onTabBarMidButtonTap页面跳转注意事项

    uniapp开发中 如果需要实现底部导航中间按钮 需要监听uni onTabBarMidButtonTap 但是如果要在该事件回调函数中实现页面跳转 url必须以 开头 即如下 否则无法实现页面跳转 搞了2个小时才发现 特此记录 避免以后再
  • 华为华三思科 交换机基础配置一览

    console密码修改 华为 user interface console 0 authentication mode password set authentication password cipher XXXXXXXXX 华三 lin
  • 图像的形态学开操作(开运算)和闭操作(闭运算)的概念和作用,并用OpenCV的函数morphologyEx()实现对图像的开闭操作

    大家看这篇博文前可以先看一看下面这篇博文 下面这篇博文是这篇博文的基础 详解图像形态学操作之图形的腐蚀和膨胀的概念和运算过程 并利用OpenCV的函数erode 和函数dilate 对图像进行腐蚀和膨胀操作 图像形态学腐蚀可以将细小的噪声区
  • android看本地视频播放器下载,Android平台上5款最好的本地视频播放软件

    5 看本地视频随着新技术的快速发展 网络机顶盒的分辨率已经达到了4k级别 不仅可以播放1080p全高清影片 也能观看3d原盘 以及4k超高清影片 但需要连接u盘或者其他移动存储设备 随着人们对影视娱乐高清晰 高音效的追求 以及现代家庭对大屏
  • 无法载入增效工具_AfterEffects错误:关于E3D插件无法加载增效工具“Element.aex”。(126)(48::46)...

    大家好 关于E3D报错的问题 相信是很多人在使用AE进行创作和套模板时遇到的一块心病 虽然报错 但是依然不舍得放弃 可还是很难得到解决 那么接下来我给同学们总结一下关于E3D报错的解决途径和步骤 AE报错 could not be load
  • React入门——3.元素渲染

    本节内容为对元素渲染 React的整理归纳 如果你直接阅读此React官方文档较为吃力 可以对照本节与React文档中的相应章节作为解释 也许会加快你的阅读理解速度 const element h1 Hello World h1 这是一个很
  • less(二) less的变量和注释

    上篇中 我们简单了解了less的使用环境和怎么使用less 下面我们了解一下less 的变量和注释 less 的注释 这是第一种注释 这是第二种注释 上面的第一种注释麻烦一点 但是当我们的less文件编译成css文件后 css文件中注释依然
  • Mac 安装openssl

    1 安装openssl brew install openssl 1 1 2 修改环境变量 export PATH usr local opt openssl 1 1 bin PATH 3 创建软链接 cd usr local includ
  • es统计所有数量的坑

    最近在统计线上的数量时 会发现始终都是10000 觉得很奇怪 先来说一下场景 我使用的是7 2版本的es 需要统计所有数量 后来发现数量下面有个relation gte的属性 然后在网上一搜 发现es 7 X在数据量很大时 数量都会是100
  • Linux Ubuntu安装RabbitMQ服务

    文章目录 前言 1 安装erlang 语言 2 安装rabbitMQ 3 内网穿透 3 1 安装cpolar内网穿透 支持一键自动安装脚本 3 2 创建HTTP隧道 4 公网远程连接 5 固定公网TCP地址 5 1 保留一个固定的公网TCP
  • burpsuit to run burp suite using java 17+

    根据报错提示 在命令行运行时后面加上这句代码 add opens java desktop javax swing ALL UNNAMED add opens java base java lang ALL UNNAMED 即 javaw
  • 数据结构第六章——图

    数据结构第六章 图 图的定义和术语 G V E V 顶点 数据元素的 有穷非空集合 E 边的有穷集合 无向图 每条边都是无方向的 有向图 每条边都是有方向的 完全图 任意两个顶点都有一条边两连 无向完全图 n个顶点 n n 1 2条边 有向
  • 【满分】【华为OD机试真题2023B卷 JAVA&JS】需要打开多少监控器

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 需要打开多少监控器 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 某长方形停车场 每个车位上方都有对应监控器 当且仅当在当前车位或者前后左右四个方向任意一个车位范围停
  • 【FreeRTOS 事件】任务通知事件

    普通任务通知事件创建创建及运行 参阅安富莱电子demo define BIT 0 1 lt lt 0 define BIT 1 1 lt lt 1 static TaskHandle t xHandleTaskUserIF NULL sta
  • Linux学习(三):删除命令rm的注意事项

    rm fir 文件或者目录 f 就是force的意思 忽略不存在的文件 不会出现警告信息 i 互动模式 在删除前会询问用户是否确定操作 r 递归删除 最常用的目录删除 这是非常危险的参数
  • vue_elementui_formatter的使用方法_elementui提取table表格使用formatter方法

    后台管理系统中用到了非常多的表格 一般为了方便都会讲表格进行提取 形成公共组件 提取表格时会遇到返回的json数据中要对单个字段进行处理 如时间戳转换 状态转换等 封装的表格组件代码