单击按钮时如何重置ExtJS时间段

时间:2017-09-29 15:30:21

标签: extjs

我有两个时间段:

items: [{
      margin: '0 20 0 0',
      align: 'middle',
      items: {
        xtype: 'timefield',
        name: 'startHourCombo',
        id: 'startTime',
        maxWidth: 100,
        columnWidth: 0.2,
        minValue: '12:00 AM',
        maxValue: '11:00 PM',
        increment: 60,
        anchor: '100%',
        value: '12:00 AM',
        disabled: false

      }
    },
    {
      xtype: 'timefield',
      name: 'endHourCombo',
      id: 'endTime',
      maxWidth: 100,
      minValue: '12:00 AM',
      maxValue: '11:00 PM',
      increment: 60,
      anchor: '100%',
      value: '12:00 AM',
      disabled: false

    }

和按钮:

{
  xtype: 'button',
  text: 'reset',
  handler: function(btn) {
    btn.up('form').down('[name=startHourCombo]').reset();
    btn.up('form').down('[name=endHourCombo]').reset();
    // i tried like this but getting an error "Uncaught TypeError: Cannot read property 'reset' of null "
  }
}

点击按钮我收到此错误:

  

未捕获的TypeError:无法读取null

的属性'reset'

请帮帮我。

1 个答案:

答案 0 :(得分:0)

我无法在代码中看到任何形式,因此btn.up('form')可能无效。

您必须检查视图结构并更新查询。

一般情况下,您可以使用Ext.ComponentQuery.query(),如下所示:

Ext.ComponentQuery.query('[name=endHourCombo]').reset();

检查this fiddle

另外,我认为你必须阅读Ext.ComponentQuery