Ant Design Vue日期选择器DatePicker设置日期格式、获取并设置数据

摘要:
导入在使用日期选择器前需要先引入momnet:importmomentfrom"moment";import"moment/locale/zh-cn"在引入后使用选择器:˂a-date-pickerformat="YYYY-MM-DDHH:mm:ss"v-decorator="['time',{rules:[{required:true,message:'请输入时间!获取时间的方式方式一:在上述操作完成后,事件的添加:methods:{moment,onChange{console.logconsole.log},onOk{console.log},}这里可以获取你需要的日期数据dateString,如下图:可以看到这里的dateString是你可以获取得到的时间数据。err){console.log;values.time=moment.format}})这个time与我上述a-input标签内的v-decorator绑定的数据一致。这样你可以拿到表单内time的数据并转换格式。

导入
在使用日期选择器前需要先引入momnet:

import moment from "moment";
import "moment/locale/zh-cn"
在引入后使用选择器:

<a-date-picker
format="YYYY-MM-DD HH:mm:ss"
v-decorator="['time',{rules: [{ required: true, message: '请输入时间!' }]}]"
:showTime="{ initialValue: moment('00:00:00', 'HH:mm:ss') }"
placeholder="请选择时间"
@change="onChange"
@ok="onOk" />
这里的format 属性,用于自定义日期显示格式,我这里使用的是 2020-08-25,showTime是展示默认时间的,但是,嗯,我设置了好像没什么用,可能有问题,可以给我留言,说一下这个是什么问题。。多谢。

获取时间的方式
方式一:

在上述操作完成后,事件的添加:

methods: {
moment,
onChange (value, dateString) {
console.log('Selected Time: ', value)
console.log('Formatted Selected Time: ', dateString)
},
onOk (value) {
console.log('onOk: ', value)
},
}
这里可以获取你需要的日期数据 dateString ,如下图:

可以看到这里的dateString是你可以获取得到的时间数据。

这个是获取时间,通过v-model设置的话可以采用方式一获取使用获取。

方式二:

如果你表单内采用v-decorator进行数据绑定,也可以通过表单的方式获取:

获取到之后需要采用moment进行格式转换

this.form.validateFields((err, values) => {
if (!err) {
console.log('Received values of form: ', values);
values.time = moment(values.time).format('YYYY-MM-DD HH:mm:ss')
}
})
这个time与我上述a-input标签内的v-decorator绑定的数据一致。

这样你可以拿到表单内time的数据并转换格式。

在说完获取数据后,再说一下日期选择器设置数据吧

设置数据
如果你拿到个日期数据,后台返回的json数据,我拿到的为字符串,但是我直接设置不上去,是因为日期选择器这里会报错,我报错没截图,但是记得这个会报需要拿到的是日期对象,而不能设置字符串。

所以,在设置数据前先对数据进行moment进行格式转换

用法:在设置数据前先转化要设置的时间格式:

this.form.setFieldsValue({
// "date": moment("自定义默认日期", 'YYYY-MM-DD')
“startTime": moment(this.startTime)
})
第一行是如果你格式不对时,添加后面的格式,正常就不需要添加后面的格式。

设置数据的核心就是这样子,也可以其他方式实现。

后面的是为自己记录:

昨天写了表单设置值,方式二 内的东西:

this.form.resetFields();
this.model = Object.assign({}, this.record,{time: moment(this.record.time)});
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, ',name', 'age'))
});
给日期选择框设置值,记录一下。
————————————————
版权声明:本文为CSDN博主「DOM曼珠沙华」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a18792627168/article/details/108218444

免责声明:文章转载自《Ant Design Vue日期选择器DatePicker设置日期格式、获取并设置数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇html5 动态修改TITLE标题CentOS7 实现局域网内远程开机下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue页面是否缓存的两种方式

第一种 <keep-alive> <router-view v-if="$route.meta.keepAlive"></router-view> </keep-alive> <router-view v-if="!$route.meta.keepAlive"></router-view&g...

vue3 + ant-design-vue2 + vuex+mitt快速配置指南

1. 目前能和vue3配合的UI只有ant-design-vue2 2.vue3移除了event bus,使用mitt来替代 3.有了Composition API基本上不需要使用vuex了,但是某种情况 下vuex还是比较好用的。vue3的provide和inject数据回溯不容易去debug. 使用vue-cli4.5以下,生成一个javascript...

vue 使用字典值及其翻译

在日常开发中,我们会遇到很多枚举的值,这么枚举出来的值,我们可以统一处理,称为字典值的使用及翻译。 比如说:需要提交表单,表单中有性别和国家选项,这就需要下拉选择框来实现。数据少一点的还可以直接手写,但是像国家城市这种比较多的,手写就不太友好了。这个时候需要后端通过某个接口返回这个枚举值。我们使用这个返回的列表。 翻译就是枚举值对应的汉字与状态码,对照使用...

前端代码与node代码组合启动 concurrently

vue-demo 中的 package.json 中 scripts "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", "start": "npm run serve"}, node-serve 的 package.jso...

Vue中table表头合并的用法

<div class="panel-container"> <div> <table class="table-head"width="80%"> <thead> <tr> &l...

使用vue的v-show和transition制作一个简单轮播图

<template> <!--轮播图--> <div id="carousel"> <transition-group tag="ul" :name="transitionName"> <li v-for="(list,index) in slideList" :key="i...