как мы можем взорвать или взорвать массив в угловых 5 - PullRequest
0 голосов
/ 13 июня 2018

Я использовал элемент mat-select в своем проекте:

    <mat-form-field>
      <mat-select placeholder="Toppings" formControlName="toppings" multiple>
        <mat-option *ngFor="let topping of toppingList" [value]="topping"> 
          {{topping}}</mat-option>
      </mat-select>
    </mat-form-field>

данные списка топпинга:

  toppingList = ['Extra cheese', 'Mushroom', 'Onion', 'Pepperoni', 'Sausage', 'Tomato'];

, поэтому теперь, когда я выбираю несколько значений на боковой панелизначение возвращается в формате массива.Я использовал const stringOfColours = form.toppings.join(', ');, чтобы преобразовать массив в строку и вставить его в базу данных.Но теперь, как я могу предварительно выбрать все предыдущие выбранные значения, выбирая те же данные из базы данных на странице редактирования того же самого.(если есть другой способ вставить массив в одну ячейку базы данных, пожалуйста, предложите).

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Используйте функцию разделения и назначьте ее в элементе FormControl формы в методе ngOnInit:

ngOnInit(){
    selectedToppingListFromDatabase = ['Onion', 'Pepperoni', 'Tomato'];
    this.your_form.controls.toppings.setValue(selectedToppingList.split(', '));
}
0 голосов
/ 13 июня 2018

вы можете split строку в массив и установить значение с помощью setValue

let toppingArr = yourString.split(',');
this.yourFormGroup.setValue({
  toppings: toppingArr,  
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...