0


Vue3.0封装日期格式化管道(过滤器)函数

前言:

最近这段时间,公司更新技术栈,逐步从原来的angular转移到了当前比较火的vue3.0上来,以下代码均是基于Vue3.0+ant+TypeScript+Vite+less环境进行开发的

vue3.0简介

这里就不做过多叙述了,有需要的可以去官网vue3.0看这里

vue3.0过滤器(filter)

有关叙述和部分案例可以看这里vue3.0关于filter的描述
从官网上的描述,我们可以看出,我们如果使用全局的filter来添加过滤器其实已经没有太多必要,它已经不再像2.0时期可以使用管道符(|)来对数据进行格式化,反而使用变成了一个方法的调用,因此我们完全可以用一个公共方法来代替上面的写法,下面看下我的代码吧

/*
 * @Author: 卞款款ST008729 [email protected]
 * @Date: 2022-06-06 09:27:53
 * @LastEditors: 卞款款ST008729 [email protected]
 * @LastEditTime: 2022-06-06 11:35:47
 * @FilePath: \LV79.11_ibpms-kpi-ui\src\utils\dateFormat.pipe.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */constDateFormatPipe=(date: Date, type: String)=>{if(date){let year, month, day,HH, mm, ss;let time =newDate(date);let timeDate;
      year = time.getFullYear();// 年
      month = time.getMonth()+1;// 月
      day = time.getDate();// 日HH= time.getHours();// 时
      mm = time.getMinutes();// 分
      ss = time.getSeconds();// 秒
  
      month = month <10?'0'+ month : month;
      day = day <10?'0'+ day : day;HH=HH<10?'0'+HH:HH;// 时
      mm = mm <10?'0'+ mm : mm;// 分
      ss = ss <10?'0'+ ss : ss;// 秒switch(type){case'yyyy':
          timeDate =String(year);break;case'yyyy-MM':
          timeDate = year +'-'+ month;break;case'yyyy-MM-dd':
          timeDate = year +'-'+ month +'-'+ day;break;case'yyyy/MM/dd':
          timeDate = year +'/'+ month +'/'+ day;break;case'yyyy-MM-dd HH:mm:ss':
          timeDate = year +'-'+ month +'-'+ day +''+HH+':'+ mm +':'+ ss;break;case'HH:mm:ss':
          timeDate =HH+':'+ mm +':'+ ss;break;case'MM':
          timeDate =String(month);break;default:
          timeDate = year +'-'+ month +'-'+ day;break;}return timeDate;}else{return'';}};exportdefault DateFormatPipe;

使用时我们就直接在组件(.vue文件中引用),然后在template里使用就好了

// 这里要写你自己的文件路径// 注意我这里这样导入是因为我在文件导出时写了default,否则应该是import {} from ''import DateFormatPipe from"../../utils/dateFormat.pipe";

template中使用

<a-table:loading="loading"rowKey="bizId":data-source="loanCvmInfoList":columns="columns":pagination="false":scroll="{ y: 240 }":rowClassName="setRowClassName":customRow="rowClick"><template#bodyCell="{ column, record, index }"><templatev-if="column.key === 'amount'"><span>{{ NumberFormatPipe(record.amount, 2) }}</span></template><templatev-if="column.key === 'beginDate'"><span>{{ DateFormatPipe(record.beginDate, 'yyyy-MM-dd') }}</span></template><templatev-if="column.key === 'dueDate'"><span>{{ DateFormatPipe(record.dueDate, 'yyyy-MM-dd') }}</span></template></template></a-table>
标签: typescript 前端 vue

本文转载自: https://blog.csdn.net/m0_56026872/article/details/125169483
版权归原作者 云墨-款哥的博客 所有, 如有侵权,请联系我们删除。

“Vue3.0封装日期格式化管道(过滤器)函数”的评论:

还没有评论