Skip to content

bug(MatCalendar): @Input("startAt ") is not referenced for changes #25293

@hhsissi

Description

@hhsissi

Is this a regression?

  • Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was

No response

Description

@input("startAt") is not referenced for changeDetection.

const change = minDateChange || maxDateChange || changes['dateFilter'];

There is a workaround with "activeDate", but the problem is it makes a bit heavy on developers to implement programmatic month change (as it it not useable through templates). using startAt would make ours lives much easier when it comes to changing month view.

Reproduction

Steps to reproduce:

  1. Create a component with a MatCalendar
  2. set mat-calendar "startAt" attribute in template and bind it to a property in your component (startAt) for example.
  3. change programmaticaly the startAt to another month
  4. Nothing happens (and this is a problem)

Expected Behavior

startAt updates should be referenced for changeDetection and trigger a view update.

Actual Behavior

Changing startAt value won't trigger change detection.

A workaround is changing the "activeDate", that is not referenced as an Input, therefore developers will have a hard time finding it.
Most people are actualy using internal functions like "calendar.monthView._init()" and stuff like that...

Environment

  • Angular: 14.0.4
  • Material: 14.0.4 and previous

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs triageThis issue needs to be triaged by the team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions