You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							52 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
	
	
							52 lines
						
					
					
						
							1.0 KiB
						
					
					
				<template>
 | 
						|
  <v-menu
 | 
						|
    v-model="showMenu"
 | 
						|
    :close-on-content-click="false"
 | 
						|
    :nudge-right="40"
 | 
						|
    transition="scale-transition"
 | 
						|
    offset-y
 | 
						|
    min-width="290px"
 | 
						|
  >
 | 
						|
    <template v-slot:activator="{ on }">
 | 
						|
      <v-text-field
 | 
						|
        v-model="date"
 | 
						|
        :label="label"
 | 
						|
        prepend-icon="mdi-calendar"
 | 
						|
        readonly
 | 
						|
        v-on="on"
 | 
						|
      ></v-text-field>
 | 
						|
    </template>
 | 
						|
    <v-date-picker v-model="date" @input="handleInput"></v-date-picker>
 | 
						|
  </v-menu>
 | 
						|
</template>
 | 
						|
 | 
						|
<script>
 | 
						|
import { formatDateTime } from '../utils/dates';
 | 
						|
 | 
						|
export default {
 | 
						|
  props: {
 | 
						|
    label: {
 | 
						|
      type: String,
 | 
						|
      required: false,
 | 
						|
      default: () => ''
 | 
						|
    },
 | 
						|
    value: String
 | 
						|
  },
 | 
						|
  created() {
 | 
						|
    this.date = this.value ? this.value : this.date;
 | 
						|
  },
 | 
						|
  data() {
 | 
						|
    return {
 | 
						|
      date: this.value ? this.value : new Date().toISOString().substr(0, 10),
 | 
						|
      showMenu: false
 | 
						|
    };
 | 
						|
  },
 | 
						|
  methods: {
 | 
						|
    formatDateTime,
 | 
						|
    handleInput() {
 | 
						|
      this.showMenu = false;
 | 
						|
      this.$emit('input', this.date);
 | 
						|
    }
 | 
						|
  }
 | 
						|
};
 | 
						|
</script>
 | 
						|
 |