В компонетне я поставил ваш код в mounted
mounted() {
document.addEventListener("keydown", function (event) {
let { target, code } = event;
if ((target = target.closest(".body") && code == "Tab"))
event.preventDefault();
});
},
При нажатии таб - таб попадает на инпут, дальнейшые нажатия игнорироются
Но я хотел бы сделать так чтоб таб работал на отображающейся странице компонента (opacity:1) и не работал на не отображающейся (opacity:0)
Если вам будет интересен результат - полный код компонента в вложении (i18n + vue 2 cli)