博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AngularJs的UI组件ui-Bootstrap分享(四)——Datepicker Popup
阅读量:7236 次
发布时间:2019-06-29

本文共 3742 字,大约阅读时间需要 12 分钟。

Datepicker Popup是用来选择日期的控件,一般和文本框一起使用,功能和Jquery的插件My97DatePicker一样。在Datepicker Popup内部使用了ui-bootstrap的另一个组件Datepicker,是Datepicker的扩展。

使用Datepicker Popup前,一定要引用angular-locale_zh-cn.js这个脚本,否则显示出来的月份和星期就是英文了。

先来看一个最简单的用法:

1  2  3  4     
5 6
7 8 9 10 24 25 26
27

28

29
31
32 33 34
35

36
37 38
View Code

 其中最关键是这个:uib-datepicker-popup="{

{format}}",uib-datepicker-popup支持多种格式化方式,以2016-6-23 17:35:08这个日期为例,格式化文本和格式化后的值是:

格式化文本 备注
yyyy 2016 4位数年份
yy 16 2位数年份
y 2016 1到4位数年份
MMMM 六月  
MMM 6月  
MM 06 2位数月份
M 6 1位数月份
M! 06 1位或2位数月份
dd 23 2位数日期
d 23 1位数日期
d! 23 1位数或2位数日期
EEEE 星期四  
EEE 周四  
HH 17 24小时制 小时
H 17  
hh 05 12小时制 小时
h 5  
mm 35 分钟
m 35  
sss 196 毫秒
ss 08
s 8  
a 下午  上午或下午
Z  +0800  时区
ww  25  当年的第几周
w  25  
G,GG,GGG,GGGG  公元  公元或公元前
fullDate  2016年6月23日星期四  
longDate  2016年6月23日  
medium  2016年6月23日 下午5:35:08  
mediumDate  2016年6月23日  
mediumTime  下午5:35:08  
short  16/6/23 下午5:35  
shortDate  16/6/23  
shortTime  下午5:35  

uib-datepicker-popup控件可以使用的属性有:

属性 默认值 备注
alt-input-formats [] 手动输入日期时可接受的格式
clear-text clear 清空按钮的文本
close-on-date-selection true 选择一个日期后是否关闭日期面板
close-text close 关闭按钮的文本
current-text today 今天按钮的文本
datepicker-append-to-body false 是否将日期面板放在body元素中
datepicker-options   对Datepicker控件的配置
datepicker-popup-template-url uib/template/datepickerPopup/popup.html  
is-open false 是否显示日期面板
on-open-focus true 打开日期面板时是否获取焦点
show-button-bar true 是否在日期面板下方显示”今天”,”关闭”等按钮
type text  可以改为date|datetime-local|month,这样会改变日期面板的日期格式化。
 popup-placement  auto bottom-left  在位置前加一个auto,表示日期面板会定位在它最近一个可以滚动的父元素中.可以设置的位置有:top top-left      top-right          bottom      bottom-left      bottom-right         left       left-top       left-bottom      right          right-top          right-bottom
uib-datepicker-popup yyyy-MM-dd 显示日期的格式。可使用的格式见上面的列表。

对于datepicker-append-to-body属性,值为false时弹出面板的html会紧跟在input元素的后面,值为true时面板html会放在body元素中。如果要对面板的样式做特殊调整时,使用这个属性会比较方便(因为紧跟在input元素后面会继承父元素的样式,放在body元素中可以单独为这个面板设置样式)

对于type属性,个人感觉似乎没有什么用,因为在input元素上使用uib-datepicker-popup="{

{format}}"时,改变type的值为date或datetime-local或month实际上是会报错的:“HTML5 date input types do not support custom formats”,在不使用uib-datepicker-popup="{
{format}}"时,改变日期面板格式化是使用浏览器实现的HTML5日期格式化功能,相当于不使用uib-datepicker-popup控件,那就没有意义了。

因为uib-datepicker-popup扩展了Datepicker控件,所以uib-datepicker-popup可以使用Datepicker的配置,也就是datepicker-options,这是一个Json对象,可以设置的项有:

默认值 备注
customClass    一个可选的函数,设置日期面板中每个日期的样式。传入参数为一个json对象{date: obj1, mode: obj2},返回值为类的名字
dateDisabled   一个可选的函数,设置日期面板中每个日期是否可选。传入参数为一个json对象{date: obj1, mode: obj2},返回值为bool类型
datepickerMode day 可设置为day,month,year。表示控件的选择模式
formatDay dd 天数的格式化形式
formatMonth MMMM 月份的格式化形式
formatYear yyyy 年份的格式化形式
formatDayHeader EEE 星期的格式化形式
formatDayTitle MMMM yyyy 按天数选择日期时,面板中当前月份和年份的格式化形式(显示为:六月 2016 的地方)
formatMonthTitle yyyy 按月份选择日期时,面板中当前年份的格式化形式
initDate null 初始化日期
maxDate null 可选择的最大日期(必须是Javascript日期类型)
maxMode year 可选择的最大日期模式
minDate null 可选择的最小日期(必须是Javascript日期类型)
minMode day 可选择的最小日期模式
shortcutPropagation  false 是否禁用键盘事件传播
showWeeks true 是否显示面板中的日期是当年的第几周
startingDay $locale.DATETIME_FORMATS.FIRSTDAYOFWEEK 一个星期从周几开始。可设置为0到6的数字,0表示周日,6表示周六
yearRows 4 选择年份时显示多少行
yearColumns 5 选择年份时显示多少列

这是一个使用customClass自定义样式和dateDisabled自定义禁选范围的例子:

1  2  3  4     
5 6
7 8 9 10 67 80 81 82
83

84

85
87
88 89 90
91

92
93 94
View Code

注意禁选日期的显示和自定义类的显示。

 

在打开日期面板时,可以使用键盘来选择日期,上下左右和PgUp,PgDn,Home,End,Ctrl+Up,Ctrl+Down选择范围,空格或者回车选择日期,Esc退出面板。

 


目录:


转载于:https://www.cnblogs.com/pilixiami/p/5611346.html

你可能感兴趣的文章
透视Facebook算法帝国 ,我们只是工程思维的螺丝钉
查看>>
IPv4的消逝之路将漫长而缓慢
查看>>
论数据库运维的全流程管控技术
查看>>
打造"数据供应链"百分点发布大数据战略
查看>>
Relay2携边缘计算产品参加中国移动盛会
查看>>
Linux 64位操作系统安装配置java
查看>>
苹果进军印度市场到底有多难 连财政部长都不帮忙
查看>>
监控摄像机选型攻略之技术类型选用
查看>>
JAVA笔记——序列化
查看>>
《数据科学:R语言实现》——3.1 引言
查看>>
协作软件的前景、进展以及阵痛
查看>>
PyTorch 和 TensorFlow 哪个更好?看一线开发者怎么说
查看>>
怎么善于发现seo网站优化的问题?
查看>>
《Metasploit渗透测试手册》—第8章8.1节介绍
查看>>
《UG NX8.0中文版完全自学手册》一1.4 工具栏的定制
查看>>
合三为一,Linux 基金会欲打造顶级开源峰会
查看>>
《计算机系统:系统架构与操作系统的高度集成》——2.8 编译函数调用
查看>>
不要成为工具的奴隶
查看>>
IO多路复用之select/poll/epoll总结
查看>>
菜鸟Vue学习笔记(一)
查看>>