当前位置:网站首页>uni-app 自带的picker封装一个日期-时间选择器
uni-app 自带的picker封装一个日期-时间选择器
2022-08-09 10:50:00 【榴莲不好吃】
首先看下最终效果
设置数据
import moment from 'moment';
const dateArr = []
for(let i = 0;i<50;i++) {
// 默认50天
const itemDate = moment().add(i,'day');
const d = itemDate.day();
let week = '';
if(d === 0){
week = '日' }
if(d === 1){
week = '一' }
if(d === 2){
week = '二' }
if(d === 3){
week = '三' }
if(d === 4){
week = '四' }
if(d === 5){
week = '五' }
if(d === 6){
week = '六' }
dateArr.push({
name:`${
itemDate.format('MM月DD日')} 周${
week}`,
value:itemDate.format('YYYY-MM-DD')
})
}
const timeHHArr = [];
for(let i = 0;i<24;i++) {
let str = i<10?`0${
i}`:`${
i}`
timeHHArr.push({
name:str,value:str})
}
const timeMMArr = [];
for(let i = 0;i<60;i++) {
let str = i<10?`0${
i}`:`${
i}`
timeMMArr.push({
name:str,value:str})
}
view
<view class="uni-datetime-picker">
<picker mode="multiSelector" :value="dateTimeIndex" :range="dateTimeArray" range-key="name" @change="dateTimeChange">
<view class="uni-input">
<text>{
{moment(travelDate).format('MM月DD日 HH:mm')}}</text>
</view>
</picker>
</view>
js
export default{
data(){
return{
travelDate :'',
moment:moment
}
},
methods:{
dateTimeChange(e) {
const d = dateArr[e.detail.value[0]].value
const h = timeHHArr[e.detail.value[1]].value
const m = timeMMArr[e.detail.value[2]].value
this.travelDate = `${
d} ${
h}:${
m}`
}
}
}
完整代码
<template>
<view>
<picker mode="multiSelector" :value="dateTimeIndex" :range="dateTimeArray" range-key="name" @change="dateTimeChange">
<view class="uni-input">
<text v-if="travelDate===''" style="color:#bbb">请选择</text>
<text v-else>{
{moment(travelDate).format('MM月DD日 HH:mm')}}</text>
</view>
</picker>
</view>
</template>
<script> import moment from 'moment'; const dateTimeObj = (() => {
const dateArr = [] for(let i = 0;i<50;i++) {
// 默认50天 const itemDate = moment().add(i,'day'); const d = itemDate.day(); let week = ''; if(d === 0){
week = '日' } if(d === 1){
week = '一' } if(d === 2){
week = '二' } if(d === 3){
week = '三' } if(d === 4){
week = '四' } if(d === 5){
week = '五' } if(d === 6){
week = '六' } dateArr.push({
name:`${
itemDate.format('MM月DD日')} 周${
week}`,value:itemDate.format('YYYY-MM-DD')}) } const timeHHArr = []; for(let i = 0;i<24;i++) {
let str = i<10?`0${
i}`:`${
i}` timeHHArr.push({
name:str,value:str}) } const timeMMArr = []; for(let i = 0;i<60;i++) {
let str = i<10?`0${
i}`:`${
i}` timeMMArr.push({
name:str,value:str}) } return {
dateArr, timeHHArr, timeMMArr } })() export default {
components: {
}, data() {
return {
travelDate:'', moment:moment, dateTimeArray: [ dateTimeObj.dateArr, dateTimeObj.timeHHArr, dateTimeObj.timeMMArr ],//二维数组,长度是多少是几列 dateTimeIndex: [0, 0, 0], } }, methods: {
dateTimeChange: function(e) {
const d = dateTimeObj.dateArr[e.detail.value[0]].value const h = dateTimeObj.timeHHArr[e.detail.value[1]].value const m = dateTimeObj.timeMMArr[e.detail.value[2]].value this.travelDate = `${
d} ${
h}:${
m}` } } } </script>
<style lang="scss" scoped> </style>
边栏推荐
- MNIST机器学习入门
- TensorFlow:NameError: name ‘input_data’ is not defined
- 类与对象 (下)
- AQS同步组件-FutureTask解析和用例
- 强化学习 (Reinforcement Learning)
- 聚类了解
- tensor.eq() tensor.item() tensor.argmax()
- For versions corresponding to tensorflow and numpy, report FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecate
- Electron application development best practices
- 遇到恶意退款不用怕,App 内购买项目的退款通知现已可用
猜你喜欢
pytorch widedeep文档
2022强网杯WP
性能测试(03)-JDBC Request
Multi-merchant mall system function disassembly 26 lectures - platform-side distribution settings
PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization Paper Reading
笔记本电脑使用常见问题,持续更新
多商户商城系统功能拆解26讲-平台端分销设置
深度学习--神经网络(基础讲解)
985毕业,工作3年,分享从阿里辞职到了国企的一路辛酸和经验
Netscope:神经网络结构在线可视化工具
随机推荐
Unix Environment Programming Chapter 14 14.8 Memory Mapped I/O
RPN principle in faster-rcnn
ThreadLocal及其内存泄露分析
性能测试(01)-jmeter元件-线程组、调试取样器
日期工具类
Shell script combat (2nd edition) / People's Posts and Telecommunications Press Script 1 Find programs in the PATH
1003 Emergency (25分)
The complete grammar of CSDN's markdown editor
Tensorflow realize parameter adjustment of linear equations
强化学习 (Reinforcement Learning)
unix环境编程 第十五章 15.9 共享存储
编解码(seq2seq)+注意机制(attention) 详细讲解
tensorflow和numpy对应的版本,报FutureWarning: Passing (type, 1) or ‘1type‘ as a synonym of type is deprecate
faster-rcnn learn
faster-rcnn中的RPN原理
pip常见命令和更改源文件
数据存储:对dataframe类,使用to_csv()将中文数据写入csv文件
1005 Spell It Right (20分)
为什么组合优先于继承
【原创】解决阿里云oss-browser.exe双击没反应打不开,提供一种解决方案