From fe203bbea299df35c587e19d4f9c160576635ced Mon Sep 17 00:00:00 2001 From: Ilkay Ilknur Date: Wed, 3 Feb 2021 12:33:43 +0300 Subject: [PATCH] fix item loading issue. --- .../LookupExtensionProperty.razor.cs | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/LookupExtensionProperty.razor.cs b/framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/LookupExtensionProperty.razor.cs index fcfb038f86..6bbef0b8c8 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/LookupExtensionProperty.razor.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/LookupExtensionProperty.razor.cs @@ -44,6 +44,8 @@ namespace Volo.Abp.BlazoriseUI.Components.ObjectExtending [Inject] public IOptions RemoteServiceOptions { get; set; } + public string TextPropertyName => PropertyInfo.Name + "_Text"; + public object SelectedValue { get @@ -57,39 +59,39 @@ namespace Volo.Abp.BlazoriseUI.Components.ObjectExtending } } - public LookupExtensionProperty() { lookupItems = new List>(); } - protected override async Task OnInitializedAsync() + protected override void OnInitialized() { - lookupItems = await GetLookupItemsAsync(string.Empty); + var value = Entity.GetProperty(PropertyInfo.Name); + if (value != null) + { + lookupItems.Add(new SelectItem + { + Text = Entity.GetProperty(TextPropertyName).ToString(), + Value = value + }); + } } protected virtual void UpdateLookupTextProperty(object value) { - var lookupPropertyName = $"{PropertyInfo.Name}_Text"; var selectedItemText = lookupItems.SingleOrDefault(t => t.Value.Equals(value)).Text; - Entity.SetProperty(lookupPropertyName, selectedItemText); + Entity.SetProperty(TextPropertyName, selectedItemText); } protected virtual async Task>> GetLookupItemsAsync(string filter) { var selectItems = new List>(); + var url = PropertyInfo.Lookup.Url; var uri = new Uri(url, UriKind.RelativeOrAbsolute); if (!filter.IsNullOrEmpty()) { - if (uri.Query.IsNullOrEmpty()) - { - url += $"?{PropertyInfo.Lookup.FilterParamName}={filter.Trim()}"; - } - else - { - url += $"&{PropertyInfo.Lookup.FilterParamName}={filter.Trim()}"; - } + url += $"?{PropertyInfo.Lookup.FilterParamName}={filter.Trim()}"; } var client = HttpClientFactory.CreateClient(); @@ -104,7 +106,6 @@ namespace Volo.Abp.BlazoriseUI.Components.ObjectExtending } var response = await client.SendAsync(requestMessage); - var document = await JsonDocument.ParseAsync(await response.Content.ReadAsStreamAsync()); var itemsArrayProp = document.RootElement.GetProperty(PropertyInfo.Lookup.ResultListPropertyName); foreach (var item in itemsArrayProp.EnumerateArray()) @@ -124,7 +125,7 @@ namespace Volo.Abp.BlazoriseUI.Components.ObjectExtending SelectedValue = selectedItem; } - protected virtual async Task SearchFilterChangedAsync(string filter) + protected async Task SearchFilterChangedAsync(string filter) { lookupItems = await GetLookupItemsAsync(filter); }