Vue3.2+TS在v-for的时候,循环处理时间,将其变成xx-xx-xx xx:xx:xx格式,最后教给大家自己封装一个时间hooks,直接复用

这篇具有很好参考价值的文章主要介绍了Vue3.2+TS在v-for的时候,循环处理时间,将其变成xx-xx-xx xx:xx:xx格式,最后教给大家自己封装一个时间hooks,直接复用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Vue3.2+TS在v-for的时候,循环处理时间,将其变成xx-xx-xx xx:xx:xx格式
最后教给大家自己封装一个时间hooks,直接复用
1.没有封装,直接使用
<template>
  <div>
    <ul>
      <li v-for="item,index in arr" :key="item">
      {{index}}-----{{item}}---{{formateDate(item)}}
      </li>
    </ul>
  </div>
</template>

<script setup lang="ts">
const arr:string[] = [
  'Wed Aug 10 2023 16:51:08 GMT+0800 (中国标准时间)',
  'Wed Aug 12 2022 16:53:03 GMT+0800 (中国标准时间)',
  'Wed Aug 11 2021 16:54:04 GMT+0800 (中国标准时间)',
  'Wed Aug 05 2020 16:55:03 GMT+0800 (中国标准时间)',
  'Wed Aug 09 2019 16:56:01 GMT+0800 (中国标准时间)',
]
const formateDate = (date:string)=> {
  if (!date)  return '';
  const timer = new Date(date)
  let year = timer.getFullYear()
  let mouth = addZero(timer.getMonth() + 1)
  let day = addZero(timer.getDate())
  let hour = addZero(timer.getHours())
  let min = addZero(timer.getMinutes())
  let sec = addZero(timer.getSeconds())
  return `${year}-${mouth}-${day} ${hour}:${min}:${sec}`  
}

const addZero = (num:number)=>{
  return num > 9 ? num : `0${num}`
}

</script>
<style scoped lang="less">
ul{
  list-style-type: none;
  li{
    height: 30px;
    line-height: 30px;
    background-color: aqua;
    margin-bottom: 10px;
  }
}

</style>
假如我们现在其他地方还需要用到这个,那么我们可以把这个方法封装成一个hooks,用以复用
1.在src目录下,新建一个utils文件夹,定义一个timehandle文件,将需要的时间格式转化函数放进去,然后导出。
export const formateDate = (date:string)=> {
  if (!date)  return '';
  const timer = new Date(date)
  let year = timer.getFullYear()
  let mouth = addZero(timer.getMonth() + 1)
  let day = addZero(timer.getDate())
  let hour = addZero(timer.getHours())
  let min = addZero(timer.getMinutes())
  let sec = addZero(timer.getSeconds())
  return `${year}-${mouth}-${day} ${hour}:${min}:${sec}`  
}

const addZero = (num:number)=>{
  return num > 9 ? num : `0${num}`
}
2.在需要用到这个函数的组件内,将其导入
<template>
  <div>
    <ul>
      <li v-for="item,index in arr" :key="item">
      {{index}}-----{{item}}---{{formateDate(item)}}
      </li>
    </ul>
  </div>
</template>

<script setup lang="ts">
import {formateDate} from './utils/timehandle'
const arr:string[] = [
  'Wed Aug 10 2023 16:51:08 GMT+0800 (中国标准时间)',
  'Wed Aug 12 2022 16:53:03 GMT+0800 (中国标准时间)',
  'Wed Aug 11 2021 16:54:04 GMT+0800 (中国标准时间)',
  'Wed Aug 05 2020 16:55:03 GMT+0800 (中国标准时间)',
  'Wed Aug 09 2019 16:56:01 GMT+0800 (中国标准时间)',
]


</script>
<style scoped lang="less">
ul{
  list-style-type: none;
  li{
    height: 30px;
    line-height: 30px;
    background-color: aqua;
    margin-bottom: 10px;
  }
}

</style>

文章来源地址https://www.toymoban.com/news/detail-646619.html

到了这里,关于Vue3.2+TS在v-for的时候,循环处理时间,将其变成xx-xx-xx xx:xx:xx格式,最后教给大家自己封装一个时间hooks,直接复用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue 常用指令 v-for 列表循环

    v-for:根据数据生成列表结构,并且是响应式的,可以十分便捷的操作列表结构了。 至于是什么样的列表,就看你指令使用的位置了, 列表的生成依赖于数据,所以先去定义数据。 它结合的类型挺多的,数组,对象,迭代器,字符串,最常使用的是数组。这里使用数组来演

    2024年02月14日
    浏览(41)
  • vue+Element项目中v-for循环+表单验证

    表单验证的时候: prop改为 “:prop”,形式为\\\'input.\\\' + index + \\\'.ptock\\\' \\\'input.\\\' + index + \\\'.ptock’就是数据结构与数据 每一个循环中的都需要加:rules :prop=\\\"\\\'input.\\\' + index + \\\'.ptock\\\'\\\"的写法也可以是 模板字符串  

    2024年02月15日
    浏览(42)
  • Vue3 v-for点击切换样式

    在div上绑定   :class= { 名称(class/id):a === key 值 }   并 添加 一个 点击事件 声明 const  a  = ref(0) ;  css写我们要的样式(就是我们绑定的class名称) 点击事件里写    i.value = key 值

    2024年02月13日
    浏览(45)
  • [vue]v-for循环出的列表如何实现每一项单独展开收起

    展开收起最后一项的内容,展开收起的图标和信息改变 HTML代码 javasript data中声明要循环的数据、当前的下标(string类型) data中声明要循环的数据、当前的下标数组类型(array) 思路:判断当年下标是否在数组下标中来控制展开收起,不存在就将该下标加入数组,再点击一次

    2024年02月12日
    浏览(46)
  • 【vue】element-ui、el-table使用V-for循环动态添加表头和数据

    参考链接 https://blog.csdn.net/xz1589155358/article/details/126597271

    2024年02月11日
    浏览(71)
  • vue elementui v-for 循环el-table-column 第一列数据变到最后一个

    这个动态渲染table表格时发现el-table-column 第一列数据变到最后一个 序号被排到后面 代码 修改后

    2024年02月13日
    浏览(44)
  • vue中v-for重复数据处理||element下拉框去除重复

    前端去重方法有多种,只说三种常用的(新老方法都有) 1-使用常规双for循环(暴力算法)遍历比较的方式对值进行比较 2-使用js方法sort排序(只针对数组),但是经常在vue等新框架中提示TypeError: arr.sort is not a function 3-使用reduce方法(_)推荐 前端js各种操作合集备忘 点击路线后后面车

    2024年02月11日
    浏览(40)
  • vue3 v-for遍历defineProps或者props接收的数据时,报“xx” is of type ‘unknown‘

    vue中使用ts,且在使用props或者defineProps进行父传子时,v-for遍历收到的数组,进行取值时,报“xx” is of type \\\'unknown\\\' 提示:ts进行类型推导造成的报错 提示:使用接口进行 提示:创建一个ts文件,放类型数据,在使用的页面进行引用            总结:前两个都有一个弊端,

    2024年02月16日
    浏览(47)
  • element-ui v-for循环表格

    再某种情况下我们会有这样一个需求 一个页面有多个弹窗表格 但是又不能重复写多个表格 写多个会显得我们的代码难以维护 以下我封装了一个表格 上代码: 样式什么的可以忽略 直接cv即刻使用 主要靠父亲传一个数组来控制表头显示什么以及他的值 样式用不到可以删除 效

    2024年02月12日
    浏览(45)
  • vue3+ts打包报错处理

    打包报错 但是npm run dev 是运行正常的 经过一番搜索之后,这个错误是比较难搜索到的 注意看package.json 中的vue-tsc --noEmit 删掉就可以了 { “name”: “vuevitec”, “version”: “0.0.0”, “scripts”: { “dev”: “vite”, “build”: “vue-tsc --noEmit vite build”, “preview”: “vite preview” },

    2024年01月18日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包