У меня есть пользовательское наложение (OverlayModule из '@ angular / cdk / overlay'), которое открывается при редактировании ячейки в Ag-Grid для Angular.
Пользователь может сосредоточиться на MatInput просто отлично в оверлее. Но теперь основное внимание уделяется вводу, который находится за пределами потока ячеек сетки, поэтому, когда пользователь нажимает «вкладку», поведение по умолчанию фокусируется на адресной строке.
Я могу предотвратить это с помощью следующего.
fromEvent(this.tabOutInput.nativeElement, 'keydown')
.pipe(
takeUntil(this._destroy)
)
.subscribe((event: KeyboardEvent) => {
if(event.keyCode === TAB) {
event.preventDefault();
// TODO: figure out how to focus the next cell
}
});
Но как мне сфокусировать следующую ячейку? Я посмотрел на документы, и tabToNextCell
и navigateToNextCell
кажутся вариантами, но я не хочу, чтобы пользователи этой ячейки настраивали свой шаблон, где эти методы связаны.
Есть ли способ с помощью ICellEditorParams
перейти к следующей ячейке с помощью GridApi?
agInit(params: ICellEditorParams): void {}
Пожалуйста, помогите!