如何在Angular Material中使用Angular FormBuilder mat-datapicker

时间:2019-05-13 09:38:49

标签: angular mat

我目前正尝试在Angular Form Builder中使用mat-datepicker。唯一的问题是mat-datepicker将返回所选值作为Date对象而不是字符串。这不允许将该值立即从mat-datepicker传递到formGroup中,然后作为请求发送给服务器,而无需先将其转换为字符串。

此外,使用物料日期选择器提供了多种更改值parsed and formatted的方式,但是,返回的仍然是日期对象。 following is a stackblitz,它证明mat-datepicker返回一个对象,而不是预期的字符串。您必须打开控制台才能看到价值。

如果您对我如何从事物的模块端提供值有任何建议,以使mat-datepicker返回字符串而不是日期对象,将不胜感激。谢谢。

我还在此处提交了功能请求:https://github.com/angular/components/issues/16010

1 个答案:

答案 0 :(得分:0)

您可以使用函数( typecript )将其转换为字符串:

    /**
     * Convert date to string with 'dd/MM/yyyy' format
     *
     * @param date: Date
     */
    dateFormat(date: Date): string {
        const month = date.getMonth() + 1;
        const day = date.getDate();
        const year = date.getFullYear();
        if (date) {
            return `${day}/${month}/${year}`;
        }

        return '';
    }

例如:

   let date = Wed May 15 2019 00:00:00 GMT+0700 (Indochina Time)
   console.log('Convert Date : ', dateFormat(date));
   Result: 15/05/2019