QDate组件提供了一种输入日期的方法。目前支持公历(默认)和波斯历。
提示
要处理日期和/或时间,还可以查看Quasar日期工具类。
使用
警告
请注意,模型中的实际日期都以字符串格式表示。
基本
提示
对于横向模式,您可以将它与$q.screen
一起使用,以使QDate具有响应能力。例如::landscape="$q.screen.gt.xs"
。更多信息:Quasar屏幕插件。
多选
请注意,下面的模型是一个数组,我们指定了“multiple”属性。
单击已选日期将取消选择该日期。
范围选择
请注意,在下面的示例中,模型是一个对象(单选)或一个对象数组(多选)。
提示
- 单击已选日期将取消选择该日期。
- 用户当前的编辑范围也可以通过
setEditingRange
方法(查看API卡片)以编程方式设置。 - 关于当前编辑范围有两个有用的事件:
range-start
和range-end
(查看API卡片)。
警告
range
属性与options
属性仅部分兼容:选定的范围可能还包括“不可选”日期。
自定义标题和副标题
当不处于“minimal”模式时,QDate具有一个计算的标题和副标题。您可以覆盖它,就像下面的示例一样。
单击标题时,QDate的视图将更改为日历,而单击副标题时,视图将切换到年份选择。
功能
当模型未填充(如null
,void 0
/ undefined
)时,QDate仍然必须显示一年中一个月的日历。您可以使用default-year-month
属性来实现这一点,否则将显示当前月份的日历。
默认视图可以更改。
一周的第一天将根据您设置的Quasar语言包应用,但您也可以强制设置,就像下面的示例一样。
单击“今天”按钮会将日期设置为当前用户日期。需要标题,因此您不能将其与“minimal”模式一起使用。
模型掩码
默认模型掩码为YYYY/MM/DD
,但您也可以使用自定义掩码。
可以在Quasar Utils > 日期工具类中找到mask
属性令牌。
关于SSR的说明
在掩码中使用x
或X
(时间戳)可能会在客户端导致水合错误,因为模型字符串的解码必须使用new Date()
,它会考虑本地时区。因此,如果服务器的时区与客户端不同,那么服务器渲染的输出将与客户端上的输出不同,因此水合将失败。
关于波斯历的说明
使用波斯历时,QDate的掩码将强制为YYYY/MM/DD
。
如果要将字符串(包括[
和]
字符)插入掩码,请确保使用[
和]
将它们括起来进行转义,否则这些字符可能会被解释为格式令牌。
使用掩码将QDate和QTime连接到同一个模型
提示
如果要以编程方式设置QDate的值,您可以通过重新分配传递的值来实现。但是,更新的值需要是与您的掩码相同格式的字符串。例如,如果您使用的是'dddd, MMM D, YYYY'
掩码,则传递'2019/04/28'
作为值将不起作用,您需要传递'Sunday, Apr 28, 2019'
。
自定义临时语言环境
如果出于某种原因,您需要使用自定义的临时区域设置而不是已设置的当前 Quasar 语言包,则可以使用 locale
属性。
着色
突出显示事件
第一个示例使用数组,第二个示例使用函数。
限制选项
- 您可以使用
options
属性将用户选择限制为特定时间。 - 或者,为了更深入地限制选项,您也可以向
options-fn
属性提供一个函数(下面第二和第三个示例)。
警告
options
属性仅部分兼容 range
属性。范围可能包含“不可选”日期。
应用导航边界
在下面的示例中,导航被限制在 2020/07 和 2020/09 之间。
使用额外的按钮
您可以使用默认插槽添加按钮
使用 QSplitter 和 QTabPanels
更多信息:QSplitter,QTabPanels。
使用 QInput
将 QDate 和 QTime 连接到 QInput 上的同一模型
以下是 QInput mask
和 rules
属性的助手。您可以为了方便使用这些助手,或者编写字符串来指定您的 自定义需求。
示例:“date”,“time”,“fulltime”。
更多信息:QInput。
波斯日历
提示
您可以将它与 Quasar 语言包(例如波斯语 (Farsi, fa-ir
))结合使用,以将 QDate 字符串也翻译成波斯语,以获得完整的体验。
警告
使用波斯历时,QDate的掩码将强制为YYYY/MM/DD
。
原生表单提交
在处理具有 action
和 method
的原生表单时(例如,在将 Quasar 与 ASP.NET 控制器一起使用时),您需要在 QDate 上指定 name
属性,否则 formData 将不会包含它(如果应该包含它)。