2017-01-10 6 views
0

In der Eingabesteuerung habe ich den Vorschlag aktiviert. Die Definition sieht wie folgt:EingabevorschlagEinträge verschwinden

<Input id="ins-add-plant" 
    showSuggestion="true" 
    value="{vmNewItem>/sPlant}" 
    placeholder="{i18n>insColPlant}" 
    maxLength="{vmNewItemMetaModel>/oPlantProp/maxLength}" 
    suggestionItems="{vmPlantProposal>/aPlants}"> 
    <suggestionItems> 
     <core:Item text="{vmPlantProposal>Plant}"/> 
     <core:Item text="{vmPlantProposal>Name}"/> 
    </suggestionItems> 
    <layoutData> 
     <l:GridData linebreak="true"/> 
    </layoutData> 
</Input> 

Das Problem ist, wird der Vorschlag nicht erscheinen, aber wenn ich nur eine suggestionItem, wie:

<Input id="ins-add-plant" 
    showSuggestion="true" 
    value="{vmNewItem>/sPlant}" 
    placeholder="{i18n>insColPlant}" 
    maxLength="{vmNewItemMetaModel>/oPlantProp/maxLength}" 
    suggestionItems="{vmPlantProposal>/aPlants}"> 
    <suggestionItems> 
     <core:Item text="{vmPlantProposal>Plant} {vmPlantProposal>Name}"/> 
    </suggestionItems> 
    <layoutData> 
     <l:GridData linebreak="true"/> 
    </layoutData> 
</Input> 

Dann funktioniert es wie erwartet.

Warum funktioniert es nicht, wenn ich mehr als eine suggestionItem habe?

Antwort

1

Bindung Eine aggregation verwendet genau eine Vorlage, die für jeden Artikel wiederholt wird. Deshalb funktioniert dein zweites Beispiel und das erste nicht.

Es gibt Kontrollen, z.B. Liste, unterstützt Aggregationen mit komplexem Inhalt, aber das Eingabesteuerelement unterstützt nur sap.ui.core.Item oder sap.ui.core.ListItem für die Aggregation suggestionItems.