我正在使用 Telerik 的 RadAutoComplete 來獲得自動完成欄位。它適用于靜態資料,但根據用戶在自動完成欄位中收到的輸入,我必須執行 API 并從那里獲取資料。API 回應中收到的串列將在自動完成的建議視圖中可見。
一旦我將我的回應分配給 RadAutoComplete 的 ItemSource,在自動完成中輸入的文本就會被重置。例如:如果我想搜索“星期五”,我在自動完成欄位中輸入了“Fr”。在收到 API 的回應后,“Fr”將自動從自動完成中洗掉,自動完成文本將為“”。
XAML:
<telerikInput:RadAutoComplete
BorderColor="LightGray"
FilteredItemsChanged="autoCompleteUsers_FilteredItemsChanged"
ItemsSource="{Binding UserList}"
SearchThreshold="3"
ShowSuggestionView="True"
SuggestionItemSelected="autoCompleteUsers_SuggestionItemSelected"
TextSearchPath="Name">
<telerikInput:RadAutoComplete.SuggestionItemTemplate>
<DataTemplate>
<StackLayout HeightRequest="20">
<Label
Margin="2"
HorizontalOptions="Start"
Text="{Binding Item.Name}"
TextColor="Black"
VerticalOptions="Center" />
</StackLayout>
</DataTemplate>
</telerikInput:RadAutoComplete.SuggestionItemTemplate>
</telerikInput:RadAutoComplete>
事件
void autoCompleteUsers_FilteredItemsChanged(System.Object sender, Telerik.XamarinForms.Input.AutoComplete.FilteredItemsChangedEventArgs e)
{
var searchedText = (sender as RadAutoComplete).Text;
viewController.GetUserList(searchedText);
}
public async Task GetUserList(string searchedText)
{
// **reassigning userList with the response of API**
UserList = await _APIservice.GetUsers(searchedText);
}
uj5u.com熱心網友回復:
嘗試使用 RadAutoCompleteView,推薦用于遠程搜索。
https://docs.telerik.com/devtools/xamarin/controls/autocompleteview/autocompleteview-remote-search?_ga=2.230265054.335708323.1661762900-2099335098.1639588237
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/507025.html
標籤:xamarin xamarin.forms xamarin.android xamarin.ios 泰利里克
