Nativescript 将焦点强制到ListView中的某个索引
我创建了一个列表,根据用户的输入,我希望它关注列表中的某个元素Nativescript 将焦点强制到ListView中的某个索引,nativescript,nativescript-vue,nativescript-ui-listview,Nativescript,Nativescript Vue,Nativescript Ui Listview,我创建了一个列表,根据用户的输入,我希望它关注列表中的某个元素 <ListView for="(item, index) in timeTable" @itemTap="onItemTap"> <v-template> <FlexboxLayout class="travelDetails" :ref="index"> </FlexboxLayout> </v-template&
<ListView for="(item, index) in timeTable" @itemTap="onItemTap">
<v-template>
<FlexboxLayout class="travelDetails" :ref="index">
</FlexboxLayout>
</v-template>
</ListView>
created: function(){
this.$refs[this.indexIWantToFocusOn].nativeView.focus()
}
已创建:函数(){
this.$refs[this.indexIWantToFocusOn].nativeView.focus()
}
但问题是该元素的引用尚未呈现
那么,有没有办法强制索引从0以外的值开始
或者有其他方法吗?您可以在通过
scrollToIndex
加载列表视图后尝试滚动到所需的索引。检查一下
onload(){
this.$refs.myList.nativeView.scrollToIndex(this.indexIWantToFocusOn);
}
在通过scrollToIndex
加载列表视图后,您可以尝试滚动到所需的索引。检查一下
onload(){
this.$refs.myList.nativeView.scrollToIndex(this.indexIWantToFocusOn);
}
焦点是指您希望列表从所需索引开始?是的,这就是我的意思焦点是指您希望列表从所需索引开始?是的,这就是我的意思非常感谢,这很有效。但是有一个问题,我需要将onload
函数放在setTimeOut
中,因为我的ListView
没有生成,但是他已经执行了onload
函数。非常感谢,这很有效。但是有一个问题我需要将onload
函数放入setTimeOut
中,因为我的ListView
没有生成,但他已经执行了onload
函数。