之前在做vue项目时使用iviewUI库中的DatePicker组件,发现DatePicker使用起来比较麻烦,尤其是对时间精确度上的限制不尽人意,操作起来也比较繁琐,总之在处理一系列时间组件相互联动上存在一大堆问题,比如
DatePicker时间组件
时间精确到分,组件1的value等于组件2的最小值,组件2的vlaue等于组件3的最小值,。。。依次类推,如果是时间精确到日,这个组件没有任何问题,如果是精确到时分秒,这个组件的对时分秒的控制就不是那个灵敏了,在点击时分秒之后才能识别出对时分秒的限制,而这种用户体验不够友好。
所以,想到了以前用过的laydate时间插件
在vue中使用laydate
在vue组件中npm install laydate,然后在vue组件中直接引入:
import laydate from 'laydate'
然后在mounted中调用:
laydate.now();
发现chrome浏览器控制台中报错,laydate is not defined,然后把laydate.js放在静态资源里面引入:
import laydate from '../../static/js/laydate.js'
发现chrome浏览器控制台中依然是报错,laydate is not defined,然后在html入口文件中引入:
<script src="/UploadFiles/2021-04-02/laydate.js">发现chrome浏览器控制台中不报,laydate is not defined,但是又报另外一个错误:require is not defined,查看原码发现是因为laydate.js中在引用css样式表时未定义:require('./need/laydate.css');require('./skins/default/laydate.css');
最后使用laydate打包构建后的文件:dist/laydate/laydate.min.js,把laydate.min.js和css粘贴到src/static/路径下,注意js和css结构不要改变
<script src="/UploadFiles/2021-04-02/laydate.min.js">然后在chrome浏览器中成功打印出了laydate.now()的值:2018-10-21
然后使用import方式引入laydate.min.js:
import laydate from '../../static/laydate/laydate.min.js'chrome控制台里有报错:laydate.now is not a function
原因时laydate.min.js是直接把laydate对象注册到了window上,本身并没有export default laydate出口,所以不能使用这种方式引用,应该使用:
import '../../static/laydate.min.js'这样引用后,chrome中成功打印laydate.now(); 2018-10-21
或者在入口文件index.html中使用cdn加速方式引入laydate.min.js也是可以的:
<script src="/UploadFiles/2021-04-02/laydate.min.js">当然,如果项目中只是个别地方是使用到时间插件,建议采用import方式引入
laydate.min.js时间插件在vue组件中的使用方式
<template> <div id="laydateIndex"> <div class="input-item"> <label for="">请选择时间:</label> <input type='text' name='houseChangeTime' placeholder='请选择日期' class='form-control' onclick="laydate({ istime: true, format: 'YYYY/MM/DD hh:mm:ss' })" /> </div> <div class="input-item"> <label for="">开始时间:</label> <input type="text" name="" id="begintime" placeholder='请选择日期'> </div> <div class="input-item"> <label for="">结束时间:</label> <input type="text" name="" id="endtime" placeholder='请选择日期'> </div> </div> </template><script> import '../../assets/js/laydate.min.js' export default { name: 'laydateIndex', data () { return { begintime: '', endtime: '', start_time: '', } }, methods: { setBeginTime () { var _this = this; var mintime = laydate.now(0, 'YYYY-MM-DD hh:mm:ss'); _this.$data.begintime = mintime; _this.$data.endtime = mintime; var begintiem_options = { elem: '#begintime', format: 'YYYY-MM-DD hh:mm:ss', // 分隔符可以任意定义 event: 'click', //触发事件 istime: true, //是否开启时间选择 isclear: true, //是否显示清空 issure: true, //是否显示确认 festival: true, //是否显示节日 min: mintime, //最小日期 max: '2099-12-31 23:59:59', //最大日期 start: mintime, //开始日期 fixed: true, //是否固定在可视区域 zIndex: 99999999, //css z-index choose: function(dates) { // 选择日期完毕的回调 endtime_options.start = dates; endtime_options.min = dates; _this.$data.begintime = dates; _this.$data.endtime = dates; } }; var endtime_options = { elem: '#endtime', format: 'YYYY-MM-DD hh:mm:ss', // 分隔符可以任意定义 event: 'click', //触发事件 istime: true, //是否开启时间选择 isclear: true, //是否显示清空 issure: true, //是否显示确认 festival: true, //是否显示节日 min: _this.$data.begintime, //最小日期 max: '2099-12-31 23:59:59', //最大日期 start: _this.$data.begintime, //开始日期 fixed: true, //是否固定在可视区域 zIndex: 99999999, //css z-index choose: function(dates) { // 选择日期完毕的回调 // this.begintiem_options = dates; } }; laydate(begintiem_options); laydate(endtime_options); }, initPage () { var _this = this; _this.setBeginTime(); }, }, mounted () { this.initPage(); }, } </script>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
DDR爱好者之家 Design By 杰米
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]