Я использую нумерацию страниц внутри своего пейджера, но, похоже, это искажает весь пейджер. Я сделал тест, используя несколько простых данных. Ожидаемое поведение будет начинать отсчет с 1 до 7, а затем возобновлять подсчет с 1 до 7. Как это: 1,2,3,4,5,6,7,1,2,3,4,5,6,7
Но на самом деле происходит следующее: 1,2,3,4,5,6,6,7,1,2,4,5,6,1,5,5,4
Внутри шаблона
<Pager height="100%" width="100%" @selectedIndexChange="onPagerChangedPage($event)" @loaded="onPagerLoaded($event)" for="item in profiles">
<v-template>
<StackLayout height="100%" width="100%" class="profile-wrapper">
<Label :text="item.first_name"/>
</StackLayout>
</v-template>
</Pager>
Данные
data() {
return {
profiles: new ObservableArray( [ { first_name: "1.hello"},{ first_name: "2.brah"}, {first_name: "3.krakaka"},{first_name: "4.Blalala"},{first_name: "5.Shatash"},{first_name: "6.Dreaum"},{first_name: "7.Breauhjm"} ]),
}
}
Методы
onPagerChangedPage(event) {
let profileCount = event + 1;
if (this.profiles.length === profileCount) {
this.getProfiles();
}
},
getProfiles() {
let newProfiles = [{first_name: "1.hello"},{first_name: "2.brah"}, {first_name: "3.krakaka"},{first_name: "4.Blalala"},{first_name: "5.Shatash"},{first_name: "6.Dreaum"},{first_name: "7.Breauhjm"}];
newProfiles.forEach(profile => {
this.profiles.push(profile);
});
},
РЕДАКТИРОВАТЬ: пробовал несколько новых методов
onLoadMoreItems(event) {
let profileCount = this.profiles.length + 1;
this.profiles.push({first_name: profileCount + ": random"});
},
onPagerChangedPage(event) {
console.log("Current page name:" + this.profiles.getItem(event).first_name);
let profileCount = event + 1;
console.log(profileCount + "|" + this.profiles.length);
},