Sencha Touch 2 - 在日期选择器上设置最大日期

时间:2015-03-09 20:16:10

标签: sencha-touch sencha-touch-2

有没有人知道如何阻止用户在datepicker字段中选择未来日期(大于当前日期)?

我知道在用户点击选择器上的完成按钮后,我可以轻松验证,并向他们显示一条警告消息,告诉他们无法选择未来的日期。

但如果首先有某种方法可以实际阻止选择,例如从选择中禁用某些槽值,那将会很好。我不确定这可以做到,也许验证是唯一的方法吗?

2 个答案:

答案 0 :(得分:1)

由于我没有足够的声誉所以我需要添加我的评论作为答案。

您有两种方法可以做到这一点。

  1. 如果日期大于最大日期,请收听更改事件并隐藏已完成按钮。
  2. 覆盖Ext.picker.Date并隐藏选择器本身中的日期值,这些日期值大于初始化时的最大日期。
  3. 第二个选项有点复杂,但如果此功能最重要,则值得。

答案 1 :(得分:0)

您可以至少限制yearFromyearTo但这只能作为Ext.picker.Date类中的文档化配置使用,这实际上是创建时调用的基础类一个Ext.field.DatePicker个实例。 您可以通过将选项传递到字段的Ext.picker.Date属性来为picker设置选项

http://docs-origin.sencha.com/touch/2.4/2.4.1-apidocs/#!/api/Ext.field.DatePicker-cfg-picker

e.g。

    Ext.create('Ext.form.Panel', {
        fullscreen: true,
        items: [{
            xtype: 'fieldset',
            items: [{
                xtype: 'datepickerfield',
                label: 'Birthday',
                name: 'birthday',
                value: new Date(),
                picker:{
                    yearFrom:2000,
                    yearTo:2020
                }
            }]
        }]
    });