vant倒序年月日期组件封装

2024-03-07 13:52
文章标签 封装 组件 日期 倒序 vant

本文主要是介绍vant倒序年月日期组件封装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如图,时间选择,倒序排列。时间格式  202312,可以根据自己的格式改一下数据处理方式

组件:

<template><div class="number"><van-cell-group><van-field class="date-select" readonly clickable v-model="date" placeholder="选择时间"@click="showPicker = true" /><van-popup v-model="showPicker" round position="bottom"><van-picker class="picker" show-toolbar :columns="columns" @change="onChange"@cancel="showPicker = false" @confirm="onConfirm"></van-picker></van-popup></van-cell-group></div>
</template><script>
export default {name: 'DateSelect',props: {default: {type: String,default: ''},minYear: {type: String,default: '2014'}},data() {return {date: this.default,initTime: this.minYear,columns: [],checkTime: {},showPicker: false}},created() {this.initTimeFn()},methods: {initTimeFn() {const initTime = this.initTimeconst defaultYear = this.default.substring(0, 4)const defaultMonth = this.default.substring(4)// for (let i = 0; i <= Number(new Date().getFullYear()) - initTime; i++) {for (let i = Number(new Date().getFullYear()); i >= initTime; i--) {this.checkTime[`${i}年`] = ['01月','02月','03月','04月','05月','06月','07月','08月','09月','10月','11月','12月']}const yearIndex = Object.keys(this.checkTime).findIndex((item) =>item.includes(defaultYear))this.columns = [{values: Object.keys(this.checkTime),defaultIndex: yearIndex //Number(new Date().getFullYear()) - initTime},{values: this.checkTime[`${new Date().getFullYear()}年`],defaultIndex: Number(defaultMonth) //new Date().getMonth()}]},onCancel() {this.showPicker = false},onConfirm(value) {this.showPicker = falselet year = value && value[0].split('年')[0]let month = value && value[1].split('月')[0]this.date = this.userListForm = `${year}${month}`this.$emit('getDate', this.userListForm)},onChange(picker, values) {picker.setColumnValues(1, this.checkTime[values[0]])}}
}
</script><style lang="less">
.number {width: 2.4rem;.picker {font-size: 0.32rem;}.van-cell {padding: 0;}.date-select {border: 1px solid rgb(74, 119, 246);padding-left: 0.1rem;border-radius: 0.1rem;font-size: 0.32rem;line-height: 1.5;}
}
</style>

使用:

  <DateSelect @getDate="getDate" default="202312" />
  getDate(date) {this.date = date    //自己组件使用的时间变量this.getList()},

这篇关于vant倒序年月日期组件封装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/783746

相关文章

JavaWeb 中的 Filter组件详解

《JavaWeb中的Filter组件详解》本文详细介绍了JavaWeb中的Filter组件,包括其基本概念、工作原理、核心接口和类、配置方式以及常见应用示例,Filter可以实现请求预处理、响应后... 目录JavaWeb 中的 Filter 详解1. Filter 基本概念1.1 什么是 Filter1.

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景