基于vue2.0+vuex的日期选择组件功能实现


Posted in Javascript onMarch 13, 2017

calendar vue日期选择组件

一个选择日期的vue组件

基于vue2.0 + vuex

原本是想找这样的一个组件的,查看了vuex后,发现vuex的写法还不是基于2.0的,所以就自己动手做了

demo展示&&项目中的使用

基于vue2.0+vuex的日期选择组件功能实现

基于vue2.0+vuex的日期选择组件功能实现

目录结构

demo 用vue-cli 的webpack-simple构建的

calendar
 |--dist build生成的目录
 |--doc  展示图片
 |--src
 |--assets 资源

 |--components


 |--calendar  日期组件


 |--dateScroll 滚动的子组件

 |--css

 |store  vuex目录


 |--modules



 |--calendar  


 |--mutation   组件的一些状态


 |--store

 |App.vue  入口

 |main.js

组件使用

组件可以传入一个年份的范围,startTime 和 endTime 都是数字, 默认是1900 - 2050

触发组件 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 () {
     //触发日期组件
     this.$store.dispatch('calendarStatus',true);
    }
   },
    computed:{
     //遮罩状态
     mark:function () {
      return this.$store.getters.markStatus
     },
     //组件状态
     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_3water.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
解析javascript系统错误:-1072896658的解决办法
Jul 08 Javascript
深入理解Javascript作用域与变量提升
Dec 09 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
Apr 02 Javascript
基于javascript实现图片滑动效果
May 07 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
Jul 20 Javascript
bootstrapValidator自定验证方法写法
Dec 01 Javascript
js querySelector() 使用方法
Dec 21 Javascript
angularJS实现动态添加,删除div方法
Feb 27 Javascript
解决easyui日期时间框ie的兼容的问题
Mar 01 Javascript
基于vue2.0动态组件及render详解
Mar 17 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
Nov 29 Javascript
微信小程序实现点击页面出现文字
Sep 21 Javascript
VUE实现日历组件功能
Mar 13 #Javascript
JS正则表达式判断有效数实例代码
Mar 13 #Javascript
又一款MVVM组件 构建自己的Vue组件(2)
Mar 13 #Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
Mar 13 #Javascript
干货!教大家如何选择Vue和React
Mar 13 #Javascript
JavaScript 数据类型详解
Mar 13 #Javascript
Java与JavaScript中判断两字符串是否相等的区别
Mar 13 #Javascript
You might like
PHP-redis中文文档介绍
2013/02/07 PHP
深入php self与$this的详解
2013/06/08 PHP
php修改NetBeans默认字体的大小
2013/07/02 PHP
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
Google排名中的10个最著名的 JavaScript库
2010/04/27 Javascript
输入框过滤非数字的js代码
2014/09/18 Javascript
js 操作符汇总
2014/11/08 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
ECMAScript6块级作用域及新变量声明(let)
2015/06/12 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
2016/05/24 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
bootstrap导航、选项卡实现代码
2016/12/28 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
微信小程序制作表格的方法
2019/02/14 Javascript
详解vue高级特性
2020/06/09 Javascript
jQuery实现鼠标拖拽登录框移动效果
2020/09/13 jQuery
js实现有趣的倒计时效果
2021/01/19 Javascript
[01:02:17]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG
2014/05/26 DOTA
[08:47]2018国际邀请赛 OG战队举杯时刻
2018/08/29 DOTA
[52:06]完美世界DOTA2联赛决赛日 Inki vs LBZS 第一场 11.08
2020/11/10 DOTA
Python的垃圾回收机制深入分析
2014/07/16 Python
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
Python SqlAlchemy动态添加数据表字段实例解析
2018/02/07 Python
Python List cmp()知识点总结
2019/02/18 Python
Pytest参数化parametrize使用代码实例
2020/02/22 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
2020/12/31 Python
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
小王子读书笔记
2015/06/29 职场文书
Node实现搜索框进行模糊查询
2021/06/28 Javascript
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server