vue.js - 变量的值不会在组件内部更新
问题描述
当我将输入字段放在组件中时,它不会以任何方式更新值。有什么我错过的吗?顺便说一句,我使用 Vue 3。
子组件(input-form.vue)
<template>
<input
type="text"
:value="searchField"
@input="$emit('update:searchField', $event.target.value)"
/>
<p>Text Inside: {{ searchField }}</p>
</template>
<script>
export default {
emits: ["update:searchField"],
props: {
searchField: {
type: String,
},
},
};
</script>
家长
<template>
<div>
<input-form :searchField="searchField" />
<p>Text Outside: {{ searchField }}</p>
</div>
</template>
<script>
import inputForm from "components/input-form.vue";
export default {
data() {
return {
searchField: "",
};
},
components: {
inputForm,
},
};
</script>
解决方案
您没有update:searchField
在 Parent 中监听事件。
<input-form :searchField="searchField" @update:searchField="searchField = $event" />
或者
<input-form v-model:searchField="searchField" />
推荐阅读
- javascript - 如何根据反应js中的输入隐藏表格行
- reactjs - 从 Next.js 项目中的任何地方访问 Socket.io
- haskell - Idris `foldl` 默认实现
- python - 如何使我的 numpy 数组按轴唯一?
- laravel-5 - 使用身份验证中间件时未定义路由 [x]
- ios - 推动 segue 过渡真的很不稳定 iOS App swift
- python - 如何创建输入形状 = 输出形状的自动编码器模型
- c - 在测试我的冒泡排序算法时,控制台会在一秒钟后关闭
- javascript - 递归序列化对象
- javascript - 不和谐机器人如何向用户发送具有随机名称的文件?