VCalendor中的组件VDatepicker未在V-TextField中显示日期- VueJS

tf7tbtn2  于 2023-08-07  发布在  Vue.js
关注(0)|答案(1)|浏览(124)

VCalendor中的组件VDatepicker未在V-TextField中显示日期- VueJS
我正在开发一个应用程序,使用VueJS与Vuetify在前端。当使用https://vcalendar.io/的VDatePicker组件时,使用Vuetify的V-Text-Field Slot,选择日期时,不会将所选日期发送到V-TextField。我需要文本字段中的标签,当我在VDatePicker中选择日期时,它只在V-Text_field中显示组件的标签。如何解决这个问题,使它可以显示日期的文本字段?
Meu app.js

import './bootstrap';

import { createApp, h } from 'vue'
import { createInertiaApp } from '@inertiajs/vue3'
import 'vuetify/styles'
import { createVuetify } from 'vuetify'
import * as components from 'vuetify/components'
import * as directives from 'vuetify/directives'
import { setupCalendar, Calendar, DatePicker } from 'v-calendar';
import 'v-calendar/style.css';

const vuetify = createVuetify({
    components,
    directives,
})

const myCustomLightTheme = {
    dark: false,
    colors: {
        background: '#CCCCCC',
        surface: '#FFFFFF',
        primary: '#6200EE',
        'primary-darken-1': '#3700B3',
        secondary: '#03DAC6',
        'secondary-darken-1': '#018786',
        error: '#B00020',
        info: '#2196F3',
        success: '#4CAF50',
        warning: '#FB8C00',
    },
}

export default createVuetify({
    theme: {
        defaultTheme: 'myCustomLightTheme',
        themes: {
            myCustomLightTheme,
        },
    },
})

createInertiaApp({
    resolve: name => {
        const pages = import.meta.glob('./Pages/**/*.vue', { eager: true })
        return pages[`./Pages/${name}.vue`]
    },
    setup({ el, App, props, plugin }) {
        createApp({ render: () => h(App, props) })
            .use(plugin)
            .use(vuetify)
            .use(setupCalendar, {})
            .component('VCalendar', Calendar)
            .component('VDatePicker', DatePicker)
            .mount(el)
    },
})

字符串
我的组件.vue

<script setup>
import { Head } from '@inertiajs/vue3';
import Layout from '../Layout/Layout.vue';
import { Link } from '@inertiajs/vue3';
import { VDataTable } from 'vuetify/labs/VDataTable'
import { ref } from 'vue';

const date = ref(new Date());

const props = defineProps({
    employes: Object,
   
});
</script>
<template>
  <v-container>
    <v-col cols="12" sm="6" md="4">
      <VDatePicker v-model="date">
        <template #default="{ inputValue, inputEvents }">
          <v-text-field type="date" :value="inputValue" v-on="inputEvents" variant="outlined" density="compact" label="Data Inicial"></v-text-field>
        </template>
      </VDatePicker>
    </v-col>
  </v-container>
</template>


救命啊!

tyu7yeag

tyu7yeag1#

问题应该显示在您的控制台中。至少当我运行你的代码时它清楚地显示给我看
指定值“07/14/2023”不符合所需格式“yyyy-MM-dd”。
而且这个问题在每个日期值上都会重复出现。虽然措辞很清楚,但VDatePicker中的inputValue与v-text-field预期的格式不匹配。你只需要转换成预期的格式

function format(val) {
  if (!val) return
  return new Date(val).toISOString().split('T')[0] // returns val in yyyy-mm-dd date format
}

个字符

相关问题