自定义开发ionic自带的日历插件ionic-datePicker
来源:互联网 发布:mac怎么转换输入法 编辑:程序博客网 时间:2024/05/16 00:11
一、首先说一下如何将ionic-datePicker插件引入到项目中:
1. 在项目根目录中:bower install ionic-datepicker --save
2. 下载完成后,在lib文件夹中就会出现ionic-datepicker文件夹
3. 在index.html中引入这个dist中的ionic-datepicker.bundle.min.js文件
<script src="lib/ionic-datepicker/dist/ionic-datepicker.bundle.min.js"></script>
4. 在app.js中注入依赖ionic-datepicker,如下:
5. 相应的页面的index.html中写如下:
<div on-tap="openDatePicker()"> <span style="color:#f75a0e" ng-bind="validedTime | date:'yyyy-MM-dd'"></span></div>
6. 在对应的controller.js中写如下:
/* 获取相隔天数 */$scope.GetDateDiff = function(startDate,endDate){ var startTime = new Date(Date.parse(startDate)).getTime(); var endTime = new Date(Date.parse(endDate)).getTime(); var dates = Math.abs((startTime - endTime))/(1000*60*60*24); return dates;}$scope.validedTime = $scope.startDate;$scope.validedNormalTime = $scope.validedTime; /* 测试数据 */$scope.validedTime = $scope.startDate; //当天开始天$scope.validedEndTime = $scope.endDate; //日历结束日var datePickerObj = {//选择日期后的回掉callback: function (val) { if (typeof (val) === 'undefined') {
} else {
$scope.validedTime = $filter('date')(new Date(val), 'yyyy-MM-dd'); datePickerObj.inputDate = new Date(val); //更新日期弹框上的日期 }, disabledDates: [ new Date(2016, 2, 16), new Date(2015, 3, 16), new Date(2015, 4, 16), new Date(2015, 5, 16), new Date('Wednesday, August 12, 2015'), new Date("2016-08-16"), new Date(1439676000000)], from: $scope.validedTime, to: $scope.validedEndTime, inputDate: new Date($scope.validedTime), mondayFirst: true, disableWeekdays: [], //设置不能选中 closeOnSelect: false, dateFormat: 'yyyy-MM-dd', templateType: 'popup'};//打开日期选择框$scope.openDatePicker = function () { ionicDatePicker.openDatePicker(datePickerObj);};$scope.navigate = function (state) { nav.navigate(state);};
二、如上的步骤完成后,会得到以下的效果图:
重新整改插件的css和js,得到如下:
三、经验教训:
1. 更改ionic-datepicker-modal.html没有任何效果,颜色及边距是在ionic-datepicker.styles.css中修改;
2. 原图插件中的是确认设置在左,取消设置在右。由于用户习惯及项目中存在的所有的popup弹框都是取消在左,确认在右。更改ionic-datepicker-modal.html的button顺序,或者是添加类名,增加行内样式都没有任何作用。最后更改了ionic-datepicker.provider.js中的文件,如下:
buttons.push({ text: $scope.mainObj.closeLabel, type: 'button_close', onTap: function (e) { console.log('ionic-datepicker popup closed.');}}); if (!$scope.mainObj.closeOnSelect) { buttons.push({ text: $scope.mainObj.setLabel, style: {color:'white'}, type: 'button_set', cssClass:'whiteText', onTap: function (e) { $scope.mainObj.callback($scope.selctedDateEpoch);}});}
4. 对于点击确认后的需要添加的回调函数,写在了datePickerObj中的callback函数中。可以自由发挥!
终于改好了,好开心,好有成就感!嘻嘻☺️
阅读全文
2 0
- 自定义开发ionic自带的日历插件ionic-datePicker
- 使用Ionic自带的datepicker插件
- Ionic集成ionic-datepicker插件
- Ionic开发自定义插件
- Ionic Datepicker的使用
- 自定义Cordova插件、Ionic插件开发
- 使用ionic自带的push notification
- 如何为ionic 开发自定义插件
- 如何为ionic webapp开发自定义插件
- 自定义ionic插件
- ionic自定义插件
- ionic 自定义native插件
- ionic中自定义插件的问题
- Ionic日历
- ionic 开发中常用的一些插件
- IONIC插件的使用
- 自定义cordova插件(phonegap、ionic)
- ionic之cordova插件自定义
- Windows 下如何运行jar文件程序
- Python之Socket通信
- request nginx 透传获取真实的ip
- 求数组中两个元素加起来等于指定的数
- 基础工具---获取自定义长度随机数
- 自定义开发ionic自带的日历插件ionic-datePicker
- hexo的安装和主题的替换
- 博主推荐
- 微信小程序界面跳转传json对象
- System.ArgumentException: Directory does not exist.
- linux系统下,查找进程中资源占用过多的线程
- DRM:Initialization vector
- 基于Dragonboard 410c进行开发的远程遥控机器人(一)
- 关于谷歌的一些技巧