Я использую Syncfusion Scheduler в своем приложении Angular 8, и я настраиваю всплывающее представление для создания нового события. Он поставляется с функцией onPopupOpen()
, где вы можете добавлять новые элементы. Я хочу добавить выпадающий список, в котором отображаются все клиенты текущего пользователя (свойство companyName
). Я загружаю данные из коллекции Mon go в ngOnInit()
:
ngOnInit() {
this.clientService.getClients().subscribe((data : any) => {
this.clients = data.client;
})
}
. Здесь я вставляю выпадающий элемент в функцию onPopupOpen()
:
let dropDownList: DropDownList = new DropDownList({
dataSource: [
{text: this.clients[0].companyName, value: this.clients[0].companyName}
],
fields: {text: 'text', value: 'value'},
value: (<{ [key: string]: Object }>(args.data)).Client as string,
floatLabelType: 'Always', placeholder: 'Client'
});
Как добавить эту строку источника данных ({text: this.clients[0].companyName, value: this.clients[0].companyName}
) соответственно? Таким образом, он просматривает ответ clients
и показывает всех клиентов, которые есть у конкретного вошедшего в систему пользователя. Вместо состояния c [0] -ая позиция ответа. Я попробовал для l oop / forEach, но это не сработало. Где я должен поставить l oop в этом сценарии?
Здесь вызывается функция onPopupOpen()
:
@Component({
selector: 'app-agenda',
// templateUrl: './agenda.component.html',
styleUrls: ['./agenda.component.css'],
providers: [DayService, WeekService, WorkWeekService, MonthService,
AgendaService, MonthAgendaService, TimelineViewsService,
TimelineMonthService],
template: `<ejs-schedule width='100%' height='750px' locale='nl-AW'
[eventSettings]="eventSettings" (actionBegin)="onActionBegin($event)"
[views]='views' (popupOpen)='onPopupOpen($event)'> </ejs-schedule>`
})