Closed ArthurBrgn closed 10 months ago
Je ne sais pas si c'est la meilleure solution mais le bon format peux être récupéré avec un v-model :
<template>
<FiltersSideBar
v-model="filters"
@update:value="updateFilters"
>
<template #birthdate="{ on, attrs }">
<DatePicker
v-model="birthdate"
v-bind="attrs"
birthdate
outlined
date-format="DD/MM/YYYY"
hint="Format JJ/MM/AAAA"
date-format-return="YYYY-MM-DD"
v-on="on"
/>
</template>
<template #studiesdate="{ on, attrs }">
<DatePicker
v-model="studiesdate"
v-bind="attrs"
outlined
date-format="DD/MM/YYYY"
hint="Format JJ/MM/AAAA"
date-format-return="YYYY-MM-DD"
v-on="on"
/>
</template>
</FiltersSideBar>
</template>
<script lang="ts">
import Vue from 'vue';
import Component from 'vue-class-component';
@Component
export default class PanelFiltersFolder extends Vue {
birthdate: string | null = null;
studiesdate: string | null = null;
filters = [
{
name: 'birthdate',
title: 'Date de naissance'
},
{
name: 'studiesdate',
title: 'Date d\'ODD'
}
];
updateFilters(): void {
console.log('birthdate', this.birthdate);
console.log('studiesdate', this.studiesdate);
}
}
</script>
C'est une bonne solution mais malheureusement ça ne fonctionne pas lorsque l'on réinitialise le filtre via le bouton "Réinitialiser le filtre" ou le bouton "Réinitialiser" du panel.
C'est une bonne solution mais malheureusement ça ne fonctionne pas lorsque l'on réinitialise le filtre via le bouton "Réinitialiser le filtre" ou le bouton "Réinitialiser" du panel.
J'ai une idée pour corriger le problème dans le composant, je vais essayer ça
Merci !
Description
Dans mon composant FiltersSideBar j'ai un composant DatePicker. J'attends de celui-ci un format d'affichage de type DD/MM/YYYY et un format de données de type YYYY-MM-DD.
Au moment de l'event update:value du FiltersSidebar, le format de la date des données n'est pas le bon : il prend le format de l'affichage.
Code
Template
Script
La fonction updateFilters est déclenchée au moment du clic du bouton 'Appliquer' de l'utilisateur. Dans cette fonction j'ai débug la value du champ 'birthdate' ou 'studiesdate' et sur les deux champs le format de date n'est pas celui attendu (voir template propriété 'date-format-return'.
Merci d'avance