我正在尝试在ViewContainerRef
内的组件列表上实现键盘导航,而不知道实际存在多少组件。
当前方法:现在在ViewContainerRef中添加组件时,我将视图中的组件索引和ComponentRef一起存储为列表中的对象,即:
{ component : ComponentRef<any>, index: number }
我在indexOf
上执行ViewContainerRef
索引。
对于键盘导航,我正在收听事件并遍历我在上面创建的列表并跟踪当前所选组件的内容。
这可以用更好的方式完成吗?
答案 0 :(得分:0)
ViewContainerRef
有吸气剂length
和get
([]
)
selectedIndex:number = 0;
cursorUp() {
if(this.selectedIndex > 0) {
this.selectedIndex--;
}
console.log('selectedComponent', this.vcRef[this.selectedIndex]);
}
cursorDown() {
if(this.selectedIndex < this.vcRef.length - 1) {
this.selectedIndex++;
}
console.log('selectedComponent', this.vcRef[this.selectedIndex]);
}