基于vue2.0+vuex的日期選擇組件功能實現(xiàn)
calendar vue日期選擇組件
一個選擇日期的vue組件
基于vue2.0 + vuex
原本是想找這樣的一個組件的,查看了vuex后,發(fā)現(xiàn)vuex的寫法還不是基于2.0的,所以就自己動手做了
demo展示&&項目中的使用


目錄結構
demo 用vue-cli 的webpack-simple構建的
calendar |--dist build生成的目錄 |--doc 展示圖片 |--src |--assets 資源 |--components |--calendar 日期組件 |--dateScroll 滾動的子組件 |--css |store vuex目錄 |--modules |--calendar |--mutation 組件的一些狀態(tài) |--store |App.vue 入口 |main.js
組件使用
組件可以傳入一個年份的范圍,startTime 和 endTime 都是數(shù)字, 默認是1900 - 2050
觸發(fā)組件 this.$store.dispatch('calendarStatus',true)
<template>
<div id="app">
<p @click = "setDate">點擊設置日期</p>
<!--顯示返回的日期-->
<p>{{date}}</p>
<!--組件-->
<com-calendar :style = "calendar" :startTime = "start" :endTime="end"></com-calendar>
<!--遮罩-->
<div v-show = "mark" class="mark" @touchmove.stop.prevent ="" @touchstart.stop.prevent ="" @touchend.stop.prevent =""></div>
</div>
</template>
<script>
require('./css/style.scss');
import calendar from './components/calendar';
export default {
name: 'app',
data () {
return {
//選擇日期的開始返回,默認是1900 - 2050
start:1950,
end:2030
}
},
components:{
comCalendar:calendar
},
methods:{
setDate:function () {
//觸發(fā)日期組件
this.$store.dispatch('calendarStatus',true);
}
},
computed:{
//遮罩狀態(tài)
mark:function () {
return this.$store.getters.markStatus
},
//組件狀態(tài)
calendar:function () {
return this.$store.getters.getCalendarStatus?{ display:'block'}:{ display:'none'};
},
//返回的日期
date:function () {
return this.$store.getters.getCalendarDate;
}
}
}
</script>
運行
# install dependencies npm install # serve with hot reload at localhost:8081 npm run dev # build for production with minification npm run build
版本
1.0.0 vue日期組件
demo地址:vue-calendar_jb51.rar
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
vue實現(xiàn)div可拖動位置也可改變盒子大小的原理
這篇文章主要介紹了vue實現(xiàn)div可拖動位置也可改變盒子大小,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
Vue設置select下拉框的默認選項詳解(select空白bug解決)
最近開始學習vue,在學習的過程中遇到的問題將記錄在這里,下面這篇文章主要給大家介紹了關于Vue設置select下拉框的默認選項(select空白bug解決)的相關資料,需要的朋友可以參考下2022-12-12
vue中路由跳轉(zhuǎn)的多種方式(和$router下路由跳轉(zhuǎn)的那幾個方法的區(qū)別)
Vue.js是一款流行的前端JavaScript框架,它提供了多種方式來實現(xiàn)路由跳轉(zhuǎn),本文給大家分享vue中路由跳轉(zhuǎn)的幾種方式(和$router下路由跳轉(zhuǎn)的那幾個方法的區(qū)別),感興趣的朋友一起看看吧2023-11-11
axios發(fā)送post請求,提交圖片類型表單數(shù)據(jù)方法
下面小編就為大家分享一篇axios發(fā)送post請求,提交圖片類型表單數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03
vue+canvas如何實現(xiàn)根據(jù)數(shù)據(jù)展示不同高度,不同漸變顏色的長方體效果
這篇文章主要介紹了vue+canvas如何實現(xiàn)根據(jù)數(shù)據(jù)展示不同高度,不同漸變顏色的長方體效果,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-09-09
babel7.x和webpack4.x配置vue項目的方法步驟
這篇文章主要介紹了babel7.x和webpack4.x配置vue項目的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05

