Получить выбранный объект предмета из списка e js - PullRequest
0 голосов
/ 06 марта 2020

Я использую Syncfusion ejs-dropdownlist, но мне трудно понять, как я могу получить полный объект в моем FormBuilder, а не просто value из атрибута [fields]

<form [formGroup]="addForm">
<ejs-dropdownlist [dataSource]="data"
                  [fields]="{text: 'title', value: 'id'}"
                  formControlName="name"
                  placeholder="Select name"></ejs-dropdownlist>
</form>

.ts file

 public addForm = this.fb.group({
   name: ['', [Validators.required]]
 });

если я зарегистрирую элемент управления addForm, я получу идентификатор, но я бы хотел иметь полный объект.

console.log(this.addForms.controls.name.value) // '1'

1 Ответ

0 голосов
/ 12 марта 2020

Да, вы можете получить значение объекта выбранных значений, используя метод getDataByValue publi c.

Пожалуйста, обратитесь к приведенному ниже примеру кода.

   <ejs-dropdownlist #dropdown formControlName="skillname" name="skillname" [dataSource]='sportsData' [fields]='fields'
    [placeholder]='autoreactiveplaceholder' floatLabelType='Auto'>
</ejs-dropdownlist>

<button (click)="getObject($event)">ClickTo get the selected value object</button>
  @ViewChild('dropdown')
  public dropdownObject: DropDownListComponent;

 getObject(args) {
      var fieldObject = this.dropdownObject.getDataByValue(this.skillForm.controls.skillname.value);
      console.log(fieldObject);
    }

Я создал образец на основе ваших требований. пожалуйста, найдите образец здесь: https://stackblitz.com/edit/angular-u6i8q3?file=app.component.html

Чтобы узнать больше о методе publi c, обратитесь к документации API: https://ej2.syncfusion.com/angular/documentation/api/drop-down-list#getdatabyvalue

...