Skip to content

bug(CHIPS): chip-listbox is setting formControl as undefined after unselection - inconsistency with .setValue(null) #32084

@marekpanti

Description

@marekpanti

Description

Inconsistent behaviour between chip unselection vs. unselecting the chip by setting null value as formControl

When I want to programatically unselect a chip within a formGroup I can not setValue(undefined) only setValue(null).
I find that the behaviour is inconsistent and I understand why the initial value is undefined in case nothing was put onto the component. But after unselection I think it would be more rational to have it set up as null. Or preferably having null always as a default value within formGroup.

  • I find this behaviour inconsistent and in case that I need to programatically unselect chipbox, then I need to map the final undefined value to null to have it correctly set in my project
Image

Reproduction

StackBlitz link:
Steps to reproduce:

  1. Select one of the three chips, for example 'Large'
  2. Click on the button set as null
  3. This works as expected, and the chips has value null.
  4. Try to click on Large again
  5. Unselect the selection by clicking on 'Large' again

You receive undefined

Image Image

Expected Behavior

Expected behaviour is to have either always undefined or null, or be able to set undefined programatically.
But preferably null over undefined

Actual Behavior

Inconsistent behaviour between myControl.setValue(null) - which is unselecting chip from the component
And the actual clicking on the selected chip which it makes unselected but automatically set value as undefined

Environment

  • Angular:
  • CDK/Material:
  • Browser(s):
  • Operating System (e.g. Windows, macOS, Ubuntu):

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