我正在使用ReactiveUI框架搜索全球机场列表。
我已经设置了ObservableAsPropertyHelper,它是ViewModel中SearchTerm属性的建议机场输出。以下是ObservableAsPropertyHelper的定义。在视图中,我有一个列表框绑定到这个属性。我希望能够显式地清除列表框(因为一旦用户选择了建议的项,我希望用所选的机场填充SearchTerm并清除建议列表)。是否有一种优雅的方法来实现这个?
var searchTerms = this.ObservableForProperty(x => x.SearchTerms).Where(x => canSearch).Value().Throttle(TimeSpan.FromMilliseconds(500));
var searchResults = searchTerms.SelectMany(SearchAirports);
var latestResults = searchTerms.CombineLatest(searchResults, (s, r) => r.SearchTerm != s ? null : r.AirportLiteWithWeights).Where(x => x != null);
_airportLiteWithWeights = latestResults.ToProperty(this, x => x.AirportLiteWithWeights);