javascript - Ng Date Picker 如何格式化为不同的输出而不是 ISO-8601
问题描述
首先,对于想知道的人,我指的是这个 DatePicker
https://danielykpan.github.io/date-time-picker/#locale-formats
虽然 DatePicker 感觉和看起来都很棒,但我对输出值有疑问。有许多选项可以格式化日期的视图部分,但我还没有看到或找到关于如何在我的形式。我以反应形式使用日期选择器,并且我有几个具有类似先决条件的页面。我需要将此值解析为不同的格式。例如...
29-08-2018
我的第一次尝试——一开始不太聪明——是使用 [(ngModel)]="dateField" 来获取输入的值并将其更改为我想要的值。不用说,当然它在视图中也发生了变化,因为我没有参考表单字段的索引,它只是导致了一个空白字段。在我意识到这种方法一开始就很糟糕之后不久,但由于我找不到针对这个特定问题的配置,所以我对我能做什么感到很迷茫。
解决方案
@ak.leimrey。通常所有的日期选择器都会给你一个类型的值(在你的情况下是 ISO 中的字符串格式,其他情况下,例如使用 ng-bootstrap,返回一个带有日、月和年的对象)。如果您想以其他格式发送,在提交中您可以映射值并转换 form.value。
submit(form)
{
if (form.valid)
{
let result={
...form.value, //all the values of the form, but change some one
searchParams:form.value.searchParams.map(x=>{
...x
value.map(v=>{
let items=v.split('-');
return items[2].substr(0,2)+"-"+items[1]+"-"+items[0];
})
})
}
console.log(result)
}
}
是的,在您的情况下,转换对象有些困难,但使用扩展运算符和映射可以转换值
推荐阅读
- twig - Drupal 8 - Twig 模板不会获取变量值
- coq - 是否有可能在不求助于其他经典定律的情况下证明 'implies_to_or -> de_morgan_not_and_not'?
- android - 未解决的参考:ActivityMainBinding
- c# - Autofac 参数注入
- asp.net-mvc - 如何将孩子的名字列入名单?
- python - 在 Python 中使用变量作为 SQL 查询的 LIKE 语句
- reactjs - GraphQL 错误:无法在“突变”类型上查询字段“突变名称”
- operating-system - 如何使“/ home”只读?
- c# - 为什么“SignIn.RequireConfirmedEmail = true”不能阻止来自 SignIn 的未确认电子邮件?
- android - 在导航视图菜单项上使用选择器添加自定义形状波纹