JavaScript - Daterangepicker, метод isInvalidDate, включающий только один день - PullRequest
0 голосов
/ 13 декабря 2018

Я добавил daterangepicker (daterangepicker.com) в свой проект и хочу отключить / включить некоторые конкретные даты.Есть способ сделать это -> isInvalidDate, поэтому я сделал что-то подобное в опциях:

        isInvalidDate: (date) => {
        for (let i = 0; i < this.periodsArray.length; i++) {
            if (date == Date.parse(this.periodsArray[i])){
                return false;
            } else {
                return true;
            }
        }
    }

В periodArray есть строки, которые представляют даты в этом формате ["YYYYMMDD", ...] или "YYYYMM«<- этот формат должен включать все дни в этом месяце.До этого у меня было другое выражение if: </p>

if (date.format('YYYYMMDD') == this.periodsArray[i] || date.format('YYYYMM') == this.periodsArray[i])

И этот активировал только одну дату periodArray [0].Может ли кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 13 декабря 2018

Вы возвращаетесь на каждой итерации, поэтому она всегда будет возвращать ответ для первого элемента в массиве, вместо этого сравнивайте все и возвращайте ответ в конце, попробуйте что-то вроде этого:

isInvalidDate: (date) => {
    for (let i = 0; i < this.periodsArray.length; i++) {
        if(date == Date.parse(this.periodsArray[i])){
            return false;
        }
    }
    return true
}

thisвернет false в первом матче.говорят, что дата недействительна = действительна, и true, если не было совпадения, говорят, что дата недействительна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...