V-Modell funktioniert nicht mit <Komponente> in Vue 3?
P粉806834059
2023-08-29 20:16:20
<p>为什么在下面的示例中 v-model 没有绑定到我的输入? <code><component></code> 有限制吗?</p>
<pre class="brush:php;toolbar:false;"><script setup>
{ ref } aus 'vue' importieren
const config = ref({
Überschriften: [
{ Feld: 'id', Label: 'Id', Komponente: { Typ: 'Eingabe' } },
{ Feld: 'Name', Beschriftung: 'Name', Komponente: { Typ: 'Eingabe' } },
// weitere Konfigurationen für Optionsfelder und andere benutzerdefinierte Komponenten
],
Daten: [
{ id: 1, name: 'foo' },
{ id: 2, name: 'bar' }
]
})
</script>
<Vorlage>
<Tabelle>
<tr>
<td v-for="header in config.headers">
<b>{{ header.label }}</b>
</td>
</tr>
<tr v-for="item in config.data">
<td v-for="header in config.headers">
<component :is="header.component.type" v-model="item[header.field]" />
</td>
</tr>
</table>
{{ config.data }}
</template></pre></p>
Vue
v-model
对于原生元素来说效果很好。但它显然无法与 一起使用
您的代码生成
非常快速的解决方法是直接实现
值
的绑定。但是您将需要相应地更新组件,以使用
value
而不是modelValue
。更新
使用
v-model:value
的解决方法仅以一种方式起作用,与:value
相同。