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

发布时间 - 2026-01-11 00:09:00    点击率:

calendar vue日期选择组件

一个选择日期的vue组件

基于vue2.0 + vuex

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

demo展示&&项目中的使用

目录结构

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_jb51.rar

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


# vue  # 2.0  # 日期组件  # vue.js日期组件  # vue2  # 日期选择组件  # 解决antd日期选择组件  # 添加value就无法点击下一年和下一月问题  # vue左右滑动选择日期组件封装的方法  # Vue下拉选择框Select组件使用详解(二)  # Vue下拉选择框Select组件使用详解(一)  # 详解vue移动端日期选择组件  # vue.js实现仿原生ios时间选择组件实例代码  # Vue无限滑动周选择日期的组件的示例代码  # 基于Vue组件化的日期联动选择器功能的实现代码  # vue-calendar-component 封装多日期选择组件的实例代码  # Ant Design封装年份选择组件的方法  # 都是  # 看了  # 还不  # 本是  # 想找  # 大家多多  # 自己动手做  # 是基于  # startTime  # js  # css  # endTime  # modules  # mutation  # store  # App  # main  # gt  # template  # div 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  C++时间戳转换成日期时间的步骤和示例代码  如何在景安服务器上快速搭建个人网站?  Android 常见的图片加载框架详细介绍  Laravel如何优化应用性能?(缓存和优化命令)  Laravel怎么连接多个数据库_Laravel多数据库连接配置  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  Laravel如何创建自定义Artisan命令?(代码示例)  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Laravel如何实现文件上传和存储?(本地与S3配置)  python中快速进行多个字符替换的方法小结  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel如何实现一对一模型关联?(Eloquent示例)  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  Laravel定时任务怎么设置_Laravel Crontab调度器配置  青岛网站建设如何选择本地服务器?  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  使用C语言编写圣诞表白程序  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  EditPlus中的正则表达式 实战(4)  如何快速启动建站代理加盟业务?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  JS实现鼠标移上去显示图片或微信二维码  如何选择可靠的免备案建站服务器?  Android实现代码画虚线边框背景效果  高端建站如何打造兼具美学与转化的品牌官网?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  如何用5美元大硬盘VPS安全高效搭建个人网站?  昵图网官方站入口 昵图网素材图库官网入口  html5的keygen标签为什么废弃_替代方案说明【解答】  如何在香港免费服务器上快速搭建网站?  Laravel PHP版本要求一览_Laravel各版本环境要求对照  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  装修招标网站设计制作流程,装修招标流程?  网站制作免费,什么网站能看正片电影?  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  网站建设要注意的标准 促进网站用户好感度!  如何用VPS主机快速搭建个人网站?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  如何用景安虚拟主机手机版绑定域名建站?  Python3.6正式版新特性预览  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  Linux网络带宽限制_tc配置实践解析【教程】  Python文件操作最佳实践_稳定性说明【指导】  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法