今天组里给了一个做界面的任务,用的是EXTJS。 界面很简单,就是一个 ComboBox 和几个 TextFiled 外加两个 DateField。ComboBox 和 TextField 就不说了,说一下 DateField 在使用过程中遇到的一些问题和解决方法。
- 两个 DateField 用于确定查询条件的时间范围。要有缺省值。于是想把一个日期设为当前日期,另一个为两天前的日期。 DateField 中的 value 属性可以设值,不过找遍了 DateField 和 Date 的 API 也没看到 getCurrentDate 之类的方法。。。最后在网上查了下,发现直接用 new 创建一个 Date 就行了。汗! value: new Date();
- 显示提前两天的日期。用 Date 里的 add 方法。 value: new Date().add(Date.DAY, -2);
- 两个 DateField 必须满足一定的条件,前一个时间小于或等于后一个。用 getValue() 方法取得值后怎么比较是个问题,查看 Date 的 API 没发现什么好的方法,后来直接用 <= 试了试,居然得到了想要的结果。。。 if (date1<=date2) {
dateTemp1=dateStart.getValue();
dateTemp2=dateEnd.getValue();
} - 还有一个大哥让我想一想怎么在 TextField 后边加上 * 来表示必填项。琢磨了半天,想出一个比较笨的方法。用 column 布局每一项,在 TextField 后加一个。比如: xtype: "panel",
layout: "column",
fieldLabel: "数据类型",
isFormField : true,
items:[combo,{html:" *"}]