【问题标题】:EXTJS: Month/Day Selector (ie. no year)EXTJS:月/日选择器(即没有年份)
【发布时间】:2011-01-27 19:20:01
【问题描述】:

我目前在我的应用程序中使用 EXTJS EditorGridPanel,对于其中一个列输入,我要求用户能够选择月份和日期(没有年份)。

我目前正在使用 DateField 来执行此操作,但我需要能够在 UI 中禁用它的“年份”方面。我不在乎最终的“价值”是否与它相关联,我可以忽略它。我已经搜索过是否有人做过这样的事情,但我唯一的发现是人们以这种方式只显示月/年。

我的另一种选择是创建自己的自定义输入(带有月和日的组合框,其中日组合根据月份而变化),但是,老实说,我没有那么多时间自己制作一个将不得不经历学习曲线,因为我以前从未创建过自定义输入扩展。

--> 那么我的大问题是,有人听说过现有的 EXTJS 月/日选择器吗?

任何帮助都会非常适合堆栈溢出的人!

【问题讨论】:

  • 实际上考虑到这一点,日历形式的月/日选择器是没有意义的,因为一周中每一天的日期布局将没有任何意义。我想我真正想要的是一个现有的月/日组合框选择器(天数会根据选择的月份而变化。

标签: extjs picker


【解决方案1】:

虽然我可能会创建自己的自定义组件来用作编辑器,但如果您不习惯这样做,您是否考虑过将“月”和“日”字段拆分为网格列模型中的单独列?

另一种选择是在文本字段中添加一个输入掩码(您需要在您的 cm 中指定一个作为 customEditor)。我相信这是通过自定义 vtypes 完成的。此输入掩码将强制用户以您指定的格式输入日期。

使用这种方法会:

  1. 将所有月/日数据保存在一列中
  2. 通过使用开箱即用的组件来简化您的 UI 代码。 (IMO 这是学习 ExtJS 的关键)

【讨论】:

  • 我考虑过单独的列,但这会使我的网格总共有 11 列,这似乎是“太多”的边界。我会研究输入屏蔽,这不是我想过的选择。谢谢!
  • 我们最终不需要控制,但是,在回想最初的问题之后——创建一个自定义组件本来是最好的解决方案。
【解决方案2】:

试试这个

  picker: {
    slotOrder: [ 'month', 'day' ]
  }

您的帖子似乎包含未正确格式化为代码的代码。请使用代码工具栏按钮或 CTRL+K 键盘快捷键将所有代码缩进 4 个空格。如需更多编辑帮助,请单击 [?] 工具栏图标。

【讨论】:

  • 如果我需要重新访问控件(我们最终不需要它),我会看看这个解决方案是否有效 - 谢谢!
【解决方案3】:

尝试类似:

{
    xtype: 'datepickerfield',
    name: 'OrderDate',
    label: 'Order Date',
    picker: { yearTo: 2011, yearFrom: 2020 }
}

希望对你有帮助。

【讨论】:

  • 为什么您认为您的解决方案会禁用这一年?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-06
相关资源
最近更新 更多