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

相关文章

springboot日期格式化全局LocalDateTime详解

《springboot日期格式化全局LocalDateTime详解》文章主要分析了SpringBoot中ObjectMapper对象的序列化和反序列化过程,并具体探讨了日期格式化问题,通过分析Spri... 目录分析ObjectMapper与jsonSerializer结论自定义日期格式(全局)扩展利用配置

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

Go语言利用泛型封装常见的Map操作

《Go语言利用泛型封装常见的Map操作》Go语言在1.18版本中引入了泛型,这是Go语言发展的一个重要里程碑,它极大地增强了语言的表达能力和灵活性,本文将通过泛型实现封装常见的Map操作,感... 目录什么是泛型泛型解决了什么问题Go泛型基于泛型的常见Map操作代码合集总结什么是泛型泛型是一种编程范式,允

对postgresql日期和时间的比较

《对postgresql日期和时间的比较》文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况... 目录PostgreSQL日期和时间比较DB里保存到时分秒,需要和年月日比较db里存储date或者ti

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca