Я пытаюсь автоматически заполнить элементы в поле ionic-selectable
множественный выбор на основе выбора другого множественного выбора, используя идентификаторы, доступные для получения списка элементов из GraphQL.
Я довольно новИонные и угловатые, так что было довольно сложно найти информацию, которая мне нужна для этого.Похоже, что в проекте используется ионно-угловой 3.9.2.
По крайней мере, вот вторичный множественный выбор, который в настоящее время идентичен первичному множественному выбору во всем, кроме имени, с первичным множественным выбором, являющимся просто "элементом (ами)".Я уже продублировал элементы, которые нужно было дублировать, поскольку первичные / вторичные части также идентичны, за исключением внешнего ключа на вторичном.
<ion-list>
<ion-item>
<ion-label stacked color="primary">Secondary Elements</ion-label>
<ionic-selectable
#secondaryElementsComponent
item-content
formControlName="secondary_elements"
[items]="secondary_elements"
itemValueField="id"
itemTextField="name"
[canSearch]="true"
[isMultiple]="true"
[canClear]="true"
[(ngModel)]="user.secondary_elements"
[isOkButtonEnabled]="secondaryElementsComponent.itemsToConfirm.length > 1 && secondaryElementsComponent.itemsToConfirm.length <= 5"
></ionic-selectable>
</ion-item>
</ion-list>
Существует также связанный метод, используемый для заполнения выборок.это также идентично, за исключением ссылки на «элемент (ы)» вместо «вторичный_элемент (ы)».
formatModelsForSelects(){
// [...]
if (this.user.secondary_elements) {
if(this.user.secondary_elements.length){
var secondary_elements_object_array = [];
this.user.secondary_elements.forEach( (element) => {
var secondary_element_in_elements = this.secondary_elements.find(s => s.id == secondary_element);
if (secondary_element_in_elements)
secondary_elements_object_array.push(secondary_element_in_elements)
});
if (secondary_elements_object_array.length)
this.user.secondary_elements = secondary_elements_object_array;
}
}
}
По существу, «вторичные_элементы» должны показывать все элементы, которые имеют element_id
s, которые соответствуют идентификаторам с elements
.