1
我创建了一个应用程序,其中有一个列表,显示联系人和搜索栏,当用户在搜索中输入任何文本时,该列表将根据它和预期的一样。但如果用户选择搜索到的项目并执行一些操作并返回到同一个列表,那么列表应该显示值(他在搜索框中键入的关键字)以及过滤后的结果。但是实际发生的事情是当我做了一些操作后回到列表页面时,它显示了所有结果而不是过滤结果。 即使我们在从列表中选择的项目执行某些操作后回到同一页面,是否有任何可能的方式来显示过滤结果。如何在用户回到ionic1时再次显示搜索结果
<ion-content class="p-l-10 p-r-10 had-header kp-list" scroll="false">
<div>
<div class="list nodata" ng-if="vm.farmers.length === 0">
<h4><p>{{"nodatatoshow_message" | translate}}</p></h4>
</div>
<div class="list list-inset search_box m-t-10 m-r-10 m-l-10" ng-if="vm.farmers.length !== 0">
<label class="item item-input search_cont"> <i class="icon ion-search placeholder-icon"></i>
<!-- <input type="text" placeholder="search..." ng-model="vm.search"> -->
<input type="text" placeholder="search..." ng-model = "vm.search" ng-change="vm.getUsersByName(vm.search)">
</label>
</div>
</div>
<ion-scroll direction="y" style="height: 100%; margin-top: -5px">
<!-- Option to handle no list -->
<div>
<ion-list class="trans-item ">
<div class="FramerList list" ng-repeat="farmer in vm.farmers" ng-click='vm.gotoFarmerDetail(farmer)'>
<a class="item item-avatar" href="#">
<img src="main/assets/images/profile-pic.jpg">
<h2>{{farmer.name | limit }}</h2>
<h3>{{farmer.mobile_no}}</h3>
</a>
</div>
</ion-list>
<ion-infinite-scroll
on-infinite="vm.loadMore()"
ng-if="!vm.moreData"
distance="10%">
</ion-infinite-scroll>
</div>
</ion-scroll>
控制器:
function activate() {
Analytics.trackPage('Farmer-List-Page');
vm.farmers = [];
vm.totalcount = [];
vm.moreData = false;
DB.getContact('contacts', limit, offset, 'Farmer').then(function (result) {
for (var i = 0; i < result.rows.length; i++) {
$log.log('result of selected farmer', result);
vm.farmers.push(result.rows.item(i));
}
$log.log('vm.farmers: ', vm.farmers);
}, function (err) {
$log.log('err', err);
});
Contact.get(['Farmer']).then(function (resp) {
$log.log('resp...', resp);
vm.totalcount = resp.length;
$log.log('vm.farmers totalcount: ', vm.totalcount);
$log.log('vm.farmers totalcount: ' + JSON.stringify(vm.totalcount));
});
}