removing item in kendo-multiselect removes all items

318 Views Asked by At

I have kendo-multislect with following configuration

<kendo-multiselect
              formControlName="selectedLanguages"
              #languagesList
              (valueChange)="onSelectedLanguageChange($event)"
              [autoClose]="false"
              textField="Language"
              valueField="UseChannelLanguage"
              [data]="availableLanguages">
</kendo-multiselect>

For now I have to create array of items like this... It comes from backend in string[], and I have to have array of object like this [{Language: english, UseChannelLanguage: false}, etc... etc...]

  private _languages: string[];
  @Input()
  public get languages(): string[] {
    return this._languages;
  }
  public set languages(value: string[]) {
    if (value) {
      this._languages = value;

      this.availableLanguages = value.reduce((prev, curr) => {
        return [...prev, { Language: curr, UseChannelLanguage: false }];
      }, [] as PhotoSelectorLanguageFeatureLanguage[]);
    }
  }

And it works just fine, but problem occurs, when Im removing one item in multi-select input, it removes everything and leaves selectedLanguages control as empty array []

I have never faced this problem before.

enter image description here

enter image description here

1

There are 1 best solutions below

0
Bartek On

valueField should be set as number only, additional properties can be set e.g like this : {Language: 'bs-Latn-BA', UseChannelLanguage: true, Value: 5}