Я использую компонент Typescript Class, и у меня есть эта проблема, я не могу использовать this.$refs.<refname>.focus()
Код шаблона:
<header class="py-2 px-1 m-0 row">
<input
type="text"
class="form-control m-1"
ref="searchBoard"
placeholder="Find boards by name..."
/>
</header>
Это поле ввода находится во всплывающем окне .
Машинописный код:
import { Component, Vue } from "vue-property-decorator";
@Component
export default class BoardList extends Vue {
// I added this to solve the compile error
$refs!: {
searchBoard: HTMLInputElement;
};
isShown = false;
toggleDropdown() {
this.isShown = !this.isShown;
this.$refs.searchBoard.focus();
}
}
Тогда я получаю эту ошибку:
эта проблема исправлена в этом вопросе Vuejs введите это. $ Refs..значение не существует добавлено:
$refs!: {
searchBoard: HTMLInputElement;
};
I получить новую ошибку в моей консоли
[Vue warn]: Error in v-on handler: "TypeError: this.$refs.searchBoard is undefined"
found in
---> <BoardList> at src/components/boards/buttons/BoardList.vue
<NavbarTop> at src/components/NavbarTop.vue
<ComponentName> at src/App.vue
<Root> vue.runtime.esm.js:619
VueJS
7
есть ли способ сделать это?