Maison  >  Article  >  interface Web  >  Comment résoudre le problème selon lequel la valeur par défaut de la plage de paramètres de date de vue ne prend pas effet

Comment résoudre le problème selon lequel la valeur par défaut de la plage de paramètres de date de vue ne prend pas effet

PHPz
PHPzoriginal
2023-04-12 09:19:291645parcourir

Vue.js est un framework JavaScript très populaire qui offre de nombreuses commodités pour développer des interfaces utilisateur dynamiques. Le composant date est l’un des composants les plus couramment utilisés. Cependant, vous pouvez parfois rencontrer des problèmes lors de l'utilisation du composant de date, tels que la définition de la plage de dates qui ne fonctionne pas. Cet article fournira une explication détaillée et une solution à ce problème.

1. Description du problème

Dans Vue.js, lorsque vous utilisez le composant date, vous pouvez limiter la plage de dates en définissant les propriétés dans les options du sélecteur. Par exemple, vous pouvez spécifier des restrictions telles que des plages de dates en définissant la date désactivée ou des raccourcis, comme indiqué ci-dessous :

<el-date-picker
    v-model="dateValue"
    :picker-options="pickerOptions">
</el-date-picker>

Parmi eux, pickerOptions est un objet, et vous pouvez définir la date désactivée, des raccourcis et d'autres propriétés, comme indiqué ci-dessous :

data () {
    return {
        pickerOptions: {
            shortcuts: [
                {
                    text: '最近一周',
                    onClick (picker) {
                        const end = new Date()
                        const start = new Date()
                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
                        picker.$emit('pick', [start, end])
                    }
                },
                {
                    text: '最近一个月',
                    onClick (picker) {
                        const end = new Date()
                        const start = new Date()
                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
                        picker.$emit('pick', [start, end])
                    }
                },
                {
                    text: '最近三个月',
                    onClick (picker) {
                        const end = new Date()
                        const start = new Date()
                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
                        picker.$emit('pick', [start, end])
                    }
                }
            ],
            disabledDate (time) {
                return time.getTime() < Date.now() - 8.64e7 || time.getTime() > Date.now() + 8.64e7
            }
        },
        dateValue: ''
    }
}

Dans le code ci-dessus, les raccourcis et désactivéDate sont des propriétés qui définissent la plage de dates. Parmi eux, les raccourcis peuvent définir trois plages de dates de raccourci, à savoir la semaine dernière, le mois dernier et les trois derniers mois. Et désactivéDate limite la plage de valeurs de la date. Ce qui est défini ici, c'est qu'elle ne peut pas être postérieure à aujourd'hui ou antérieure à hier.

Cependant, au cours du processus de développement lui-même, nous pouvons constater que peu importe la façon dont nous le définissons, nous ne pourrons jamais obtenir l'effet souhaité.

2. Solution

Compte tenu du problème ci-dessus, nous devons vérifier s'il existe d'autres attributs ou méthodes pour définir la plage de dates dans le code, si c'est le cas, nous devons commenter ou supprimer ces attributs ou méthodes, puis. testez pour voir si nous pouvons obtenir l’effet souhaité.

En même temps, nous devons également faire attention au format de la date. Lors de l'utilisation du composant date, le format de date doit être cohérent avec le format de plage de dates défini, sinon cela entraînera également le problème d'invalidation de la plage de dates définie. Par exemple, si le format de date est « aaaa-MM-jj », la plage de dates définie doit également être « aaaa-MM-jj ». Le code spécifique peut être trouvé ci-dessous :

data () {
    return {
        pickerOptions: {
            shortcuts: [
                {
                    text: '最近一周',
                    onClick (picker) {
                        const end = new Date()
                        const start = new Date()
                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
                        picker.$emit('pick', [start, end])
                    }
                },
                {
                    text: '最近一个月',
                    onClick (picker) {
                        const end = new Date()
                        const start = new Date()
                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
                        picker.$emit('pick', [start, end])
                    }
                },
                {
                    text: '最近三个月',
                    onClick (picker) {
                        const end = new Date()
                        const start = new Date()
                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
                        picker.$emit('pick', [start, end])
                    }
                }
            ],
            disabledDate (time) {
                const startTime = new Date('2010/1/1').getTime()
                const endTime = new Date().getTime()
                return time.getTime() < startTime || time.getTime() > endTime
            },
            format: 'yyyy-MM-dd'
        },
        dateValue: ''
    }
}

Dans le code ci-dessus, nous avons ajouté l'attribut format pour définir le format de la date, ainsi que la plage de dates. L'heure ne peut pas être antérieure au 1er janvier 2010, ni postérieure au 1er janvier 2010. aujourd'hui.

3. Résumé

Lors de l'utilisation du composant date de Vue.js, nous devons faire attention à l'impact des autres codes sur la plage de dates, afin de ne pas affecter l'effet que nous souhaitons obtenir. Dans le même temps, lors de la définition de la plage de dates, vous devez également faire attention au format de date pour vous assurer que la plage de dates peut être définie correctement. J'espère que cet article vous sera utile.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn