75 lines
1.4 KiB
Java
75 lines
1.4 KiB
Java
![]() |
<template>
|
||
|
<a-date-picker
|
||
|
:disabled="readOnly"
|
||
|
:placeholder="placeholder"
|
||
|
@change="handleDateChange"
|
||
|
:value="momVal"
|
||
|
:showTime="showTime"
|
||
|
:format="dateFormat"
|
||
|
/>
|
||
|
</template>
|
||
|
<script>
|
||
|
import moment from 'moment'
|
||
|
export default {
|
||
|
name: 'JDate',
|
||
|
props: {
|
||
|
placeholder:{
|
||
|
type: String,
|
||
|
default: '',
|
||
|
required: false
|
||
|
},
|
||
|
value:{
|
||
|
type: String,
|
||
|
default: '',
|
||
|
required: false
|
||
|
},
|
||
|
dateFormat:{
|
||
|
type: String,
|
||
|
default: 'YYYY-MM-DD',
|
||
|
required: false
|
||
|
},
|
||
|
triggerChange:{
|
||
|
type: Boolean,
|
||
|
required: false,
|
||
|
default: false
|
||
|
},
|
||
|
readOnly:{
|
||
|
type: Boolean,
|
||
|
required: false,
|
||
|
default: false
|
||
|
},
|
||
|
showTime:{
|
||
|
type: Boolean,
|
||
|
required: false,
|
||
|
default: false
|
||
|
}
|
||
|
},
|
||
|
data () {
|
||
|
let dateStr = this.value;
|
||
|
return {
|
||
|
decorator:"",
|
||
|
momVal:!dateStr?null:moment(dateStr,this.dateFormat)
|
||
|
}
|
||
|
},
|
||
|
watch: {
|
||
|
value (val) {
|
||
|
if(!val){
|
||
|
this.momVal = null
|
||
|
}else{
|
||
|
this.momVal = moment(val,this.dateFormat)
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
methods: {
|
||
|
moment,
|
||
|
handleDateChange(mom,dateStr){
|
||
|
if(this.triggerChange){
|
||
|
this.$emit('change', dateStr);
|
||
|
}else{
|
||
|
this.$emit('input', dateStr);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
</script>
|