RadAutoCompleteTextView Completion Modes
RadAutoCompleteTextView has two modes for filtering suggestions.
The completion mode can be changed with the
completionMode
property of the RadAutoCompleteTextView. The default value is
StartsWith
.
The next code snippet shows how you can change the
completionMode
:
<RadAutoCompleteTextView [items]="dataItems" completionMode="StartsWith">
<SuggestionView tkAutoCompleteSuggestionView suggestionViewHeight="300">
<ng-template tkSuggestionItemTemplate let-item="item">
<StackLayout orientation="vertical" padding="10">
<Label [text]="item.text"></Label>
</StackLayout>
</ng-template>
</SuggestionView>
</RadAutoCompleteTextView>
import { Component } from "@angular/core";
import { ObservableArray } from "tns-core-modules/data/observable-array";
import { TokenModel } from "nativescript-ui-autocomplete";
@Component({
moduleId: module.id,
selector: "tk-autocomplete-startswith-mode",
templateUrl: "autocomplete-startswith-mode.component.html"
})
export class AutoCompleteStartsWithModeComponent {
private _items: ObservableArray<TokenModel>;
private countries = ["Australia", "Albania", "Austria", "Argentina", "Maldives", "Bulgaria", "Belgium", "Cyprus", "Italy", "Japan",
"Denmark", "Finland", "France", "Germany", "Greece", "Hungary", "Ireland",
"Latvia", "Luxembourg", "Macedonia", "Moldova", "Monaco", "Netherlands", "Norway",
"Poland", "Romania", "Russia", "Sweden", "Slovenia", "Slovakia", "Turkey", "Ukraine",
"Vatican City", "Chad", "China", "Chile"];
constructor() {
this.initDataItems();
}
get dataItems(): ObservableArray<TokenModel> {
return this._items;
}
private initDataItems() {
this._items = new ObservableArray<TokenModel>();
for (let i = 0; i < this.countries.length; i++) {
this._items.push(new TokenModel(this.countries[i], undefined));
}
}
}
StartsWith Mode
In StartsWith
mode the autocomplete shows only
suggestions that start with the typed phrase.
Contains Mode
In Contains
mode the autocomplete shows the
suggestions that contain the typed phrase, but not necessarily
in the beginning. The completion mode Contains
is
not intended to work with the Append
and
SuggestAppend
suggest modes. Since these suggest
modes append the rest of the suggestion to the typed text, the
combination between them and Contains
won't be
helpful but rather confusing.
References
Want to see this scenario in action? Check our SDK examples repo on GitHub. You will find this and many other practical examples with NativeScript UI.
Related articles you might find useful: