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

相关文章

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

Spring组件初始化扩展点BeanPostProcessor的作用详解

《Spring组件初始化扩展点BeanPostProcessor的作用详解》本文通过实战案例和常见应用场景详细介绍了BeanPostProcessor的使用,并强调了其在Spring扩展中的重要性,感... 目录一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessB

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx