javascript - Ionic 滾動到特定的列表項目
有沒有辦法滾動到 ion-list 中的特定項目?
例如在這個 CodePen 中:https://codepen.io/anon/pen/grEBQJ
當我點擊測試按鈕時,我想捲動到帶有文字「Text」的列表項目。
<button ng-click="goTo()">Go to test</button>
<ion-list class="item">Test</ion-list>
我沒有找到任何範例,所以 goTo 就是空白的:
$scope.goTo = function(){
}
答案#1
你必須為列表元素設置一個 id,如下所示:
<ion-item id="item{{item.id}}" ng-repeat="item in items">
Item {{ item.id }}
</ion-item>
然後,$scope.goTo() 方法必須修改位置哈希,並呼叫 $ionicScrollDelegate 服務的 anchorScroll() 方法:
$scope.goTo = function(id){
$location.hash('item'+id);
$ionicScrollDelegate.anchorScroll();
}
請查閱 $ionicScrollDelegate 文件以獲取更多資訊。
用你的 CodePen 更新: https://codepen.io/anon/pen/RadXqL
答案#2
我用 JavaScript 實現了這個功能。在將每個 ion-item 包裝在一個 div 元素中之後,將該 div 元素的 id 傳遞給下面的 JS 函數。
scrollTo(element:string) {
document.getElementById(element).scrollIntoView();
}
