Richtige Methode zum Erstellen einer benutzerdefinierten Kontrollkästchenkomponente für Vue
P粉135292805
2023-09-02 18:22:50
<p>So erstellen Sie ein benutzerdefiniertes Kontrollkästchen in Vue. Wenn sich das Kontrollkästchen ändert, sollte es die Funktion aufrufen.
Ich habe die Fehlermeldung „Eigenschaft ‚id‘ von undefiniert kann nicht gelesen werden“ erhalten.
und Warnung „Während der Ausführung eines nativen Event-Handlers ist ein nicht behandelter Fehler aufgetreten“</p>
<p>Benutzerdefiniertes Kontrollkästchen:</p>
<pre class="brush:js;toolbar:false;"><template>
<div class="filter">
<Eingabe
:ref="id"
:id="id"
type="checkbox"
class="filter-checkbox"
@change="$emit('do', $emit)"
/>
<span>{{ label }}</span>
</div>
</template>
<script>
Standard exportieren {
Name: „Kontrollkästchen“,
Requisiten: {
Etikett: {
Typ: Zeichenfolge
},
ist ausgewählt: {
Typ: Boolesch
},
Ausweis: {
Typ: Zeichenfolge
}
},
}
</script></pre>
<p>Ich möchte dies in einer übergeordneten Komponente verwenden: </p>
<p>
<pre class="brush:js;toolbar:false;"><Kontrollkästchen
v-for="Filter von Filtern"
:key="filter.id"
:label="filter.name"
:id="filter.id"
v-model="filter.selected"
@do="mutuallyExclusive(filter.id)"
/></pre>
</p>
无法重复出现未定义和未处理的错误,您需要进一步调试。
但是您正在发出emit函数,这很奇怪,而且无论是否选中,值始终为
filter.id
。您可能想要做一些类似以下的操作: