Bagaimana untuk menyelesaikan masalah bahawa nilai lalai julat tetapan tarikh vue tidak berkuat kuasa

PHPz
Lepaskan: 2023-04-12 11:24:19
asal
1612 orang telah melayarinya

Vue.js ialah rangka kerja JavaScript yang sangat popular yang menyediakan banyak kemudahan untuk membangunkan antara muka pengguna yang dinamik. Komponen tarikh adalah salah satu komponen yang lebih biasa digunakan. Walau bagaimanapun, kadangkala, anda mungkin menghadapi beberapa masalah apabila menggunakan komponen tarikh, seperti menetapkan julat tarikh tidak berfungsi. Artikel ini akan memberikan penjelasan terperinci dan penyelesaian kepada masalah ini.

1. Penerangan Masalah

Dalam Vue.js, apabila menggunakan komponen tarikh, anda boleh mengehadkan julat tarikh dengan menetapkan sifat dalam pilihan pemilih. Sebagai contoh, anda boleh menentukan julat tarikh dan sekatan lain dengan menetapkan disabledDate atau pintasan, seperti yang ditunjukkan di bawah:

<el-date-picker
    v-model="dateValue"
    :picker-options="pickerOptions">
</el-date-picker>
Salin selepas log masuk

Antaranya, pickerOptions ialah objek dan anda boleh menetapkan disabledDate, pintasan dan atribut lain, sebagai ditunjukkan di bawah:

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: ''
    }
}
Salin selepas log masuk

Dalam kod di atas, pintasan dan disabledDate ialah kedua-dua atribut yang menetapkan julat tarikh. Antaranya, pintasan boleh menetapkan tiga julat tarikh pintasan, iaitu minggu terakhir, bulan terakhir dan tiga bulan terakhir. Dan disabledDate mengehadkan julat nilai tarikh Apa yang ditetapkan di sini ialah ia tidak boleh lewat daripada hari ini atau lebih awal daripada semalam.

Namun, semasa proses pembangunan sebenar, kita mungkin mendapati bahawa tidak kira bagaimana kita menetapkannya, kita tidak akan dapat mencapai kesan yang kita inginkan.

2. Penyelesaian

Memandangkan masalah di atas, kita perlu menyemak sama ada terdapat atribut atau kaedah lain untuk menetapkan julat tarikh dalam kod tersebut untuk diulas atau dipadamkan , dan kemudian uji untuk melihat sama ada kita boleh mencapai kesan yang kita inginkan.

Pada masa yang sama, kita juga perlu memberi perhatian kepada format tarikh. Apabila menggunakan komponen tarikh, format tarikh perlu konsisten dengan format julat tarikh yang ditetapkan, jika tidak, ia juga akan menyebabkan masalah membatalkan julat tarikh yang ditetapkan. Contohnya, jika format tarikh ialah 'yyyy-MM-dd', julat tarikh yang ditetapkan juga hendaklah 'yyyy-MM-dd'. Kod khusus boleh didapati di bawah:

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: ''
    }
}
Salin selepas log masuk

Dalam kod di atas, kami menambah atribut format untuk menetapkan format tarikh, dan juga menetapkan julat tarikh tidak boleh lebih awal daripada 1 Januari 2010 , dan Selewat-lewatnya hari ini.

3. Ringkasan

Apabila menggunakan komponen tarikh Vue.js, kita perlu memberi perhatian kepada kesan kod lain pada julat tarikh, supaya tidak menjejaskan kesan yang kita inginkan untuk mencapai. Pada masa yang sama, apabila menetapkan julat tarikh, anda juga perlu memberi perhatian kepada format tarikh untuk memastikan julat tarikh boleh ditetapkan dengan betul. Semoga artikel ini bermanfaat kepada anda.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah bahawa nilai lalai julat tetapan tarikh vue tidak berkuat kuasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!