Kvíz: Příliš brzy
Když se stránka otevře, měl by být kurzor v textovém poli pro hledání. Místo toho je stránka prázdná a konzole hlásí TypeError: Cannot read properties of null (reading 'focus'). Klikněte na řádek s chybou.
1<script setup>
2import { computed, onMounted, ref, useTemplateRef } from "vue";
3
4const nabidka = ref([]);
5const dotaz = ref("");
6const hledani = useTemplateRef("hledani");
7const zobrazene = computed(() => {
8 const hledany = dotaz.value.toLowerCase();
9 return nabidka.value.filter((polozka) =>
10 polozka.nazev.toLowerCase().includes(hledany),
11 );
12});
13
14hledani.value.focus();
15
16onMounted(async () => {
17 const odpoved = await fetch("nabidka.json");
18 nabidka.value = await odpoved.json();
19});
20</script>
21
22<template>
23 <h1>Kavárna Na Rohu</h1>
24 <input ref="hledani" v-model="dotaz" placeholder="Hledat v nabídce">
25 <ul>
26 <li v-for="polozka in zobrazene" :key="polozka.id">{{ polozka.nazev }}: {{ polozka.cena }} Kč</li>
27 </ul>
28</template>