ant-design-vue ui时间选择器使用理解
针对Ant design vue时间选择框使用
附:Ant Design Vue https://www.antdv.com/components/date-picker-cn/
DatePicker日期选择框
这是一段官网案例,
<template><div>
<a-date-picker
v-model="startValue"
:disabled-date="disabledStartDate"
show-time
format="YYYY-MM-DD HH:mm:ss"
placeholder="Start"
@openChange="handleStartOpenChange"
/>
<a-date-picker
v-model="endValue"
:disabled-date="disabledEndDate"
show-time
format="YYYY-MM-DD HH:mm:ss"
placeholder="End"
:open="endOpen"
@openChange="handleEndOpenChange"
/>
</div>
</template>
<script>
export default {
data() {
return {
startValue: null,
endValue: null,
endOpen: false,
};
},
watch: {
startValue(val) {
console.log(\'startValue\', val);
},
endValue(val) {
console.log(\'endValue\', val);
},
},
methods: {
disabledStartDate(startValue) {
const endValue = this.endValue;
if (!startValue || !endValue) {
return false;
}
return startValue.valueOf() > endValue.valueOf();
},
disabledEndDate(endValue) {
const startValue = this.startValue;
if (!endValue || !startValue) {
return false;
}
return startValue.valueOf() >= endValue.valueOf();
},
handleStartOpenChange(open) {
if (!open) {
this.endOpen = true;
}
},
handleEndOpenChange(open) {
this.endOpen = open;
},
},
};
</script>
实际业务流程如下:
1.根据双向数据绑定v-modle,可以取得所选择的时间,
2.将时间转化为毫秒时间戳传给后台,
3.而当前端需要从后台获取时间,取得当前时间的时间戳,
4.直接将取得的毫秒数通过new Date(time)转化为标准时间,结果会发现这个组件的value值类型为moment,直接赋值会警告value.farmat is not a funtion。
解决方案:
项目引入momentjs,由于DatePicker的时间格式定义中参照momentjs方便开发者自定义时间格式,
对取得的后台时间戳进行简单转化new Date(time),
在使用的时候需要用moment(time),即使用moment包裹你所取得的时间即可
以上是 ant-design-vue ui时间选择器使用理解 的全部内容, 来源链接: utcz.com/z/378380.html