基于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 中令人困惑的变量赋值
Aug 13 Javascript
javascript的offset、client、scroll使用方法详解
Dec 25 Javascript
原生js实现给指定元素的后面追加内容
Apr 10 Javascript
jQuery中parents()方法用法实例
Jan 07 Javascript
JS实用的动画弹出层效果实例
May 05 Javascript
javascript实现信息增删改查的方法
Jul 25 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
Sep 04 Javascript
js 获取范围内的随机数实例代码
Aug 02 Javascript
Angular CLI在Angular项目中如何使用scss详解
Apr 10 Javascript
JS实现的视频弹幕效果示例
Aug 17 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
Oct 27 Javascript
JS的深浅复制详细
Oct 16 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实现多进程并行执行脚本
2013/06/18 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
Nginx环境下PHP flush失效的解决方法
2016/10/19 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
jQuery 前的按键判断代码
2010/03/19 Javascript
jquery 使用点滴函数代码
2011/05/20 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
js动态修改input输入框的type属性(实现方法解析)
2013/11/13 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
自己封装的常用javascript函数分享
2015/01/07 Javascript
关于验证码在IE中不刷新的快速解决方法
2016/09/23 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
Python实现周期性抓取网页内容的方法
2015/11/04 Python
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
Python整型运算之布尔型、标准整型、长整型操作示例
2017/07/21 Python
python 使用 requests 模块发送http请求 的方法
2018/12/09 Python
django基于cors解决跨域请求问题详解
2019/08/06 Python
Django错误:TypeError at / 'bool' object is not callable解决
2019/08/16 Python
Python Subprocess模块原理及实例
2019/08/26 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
Python3如何判断三角形的类型
2020/04/12 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
意大利自行车商店:Cingolani Bike Shop
2019/09/03 全球购物
施工安全责任书范本
2014/07/24 职场文书
慈善募捐倡议书
2015/04/27 职场文书
民事起诉书范本
2015/05/19 职场文书
Python实现视频自动打码的示例代码
2022/04/08 Python
配置nginx负载均衡
2022/05/06 Servers