vue3父子组件数据更新不及时的问题

使用props向子组件传值时,使用如下方式会导致组件不更新数据:

javascript 复制代码
const props = defineProps({
	typeOne: {
		type: Number,
		default: 0
	},
	typeTwo: {
		type: Number,
		default: 0
	}
});
const searchParams = ref({
	typeOne: props.typeOne,
	typeTwo: props.typeTwo
});

父组件中的typeOne和typeTwo发生变化时,searchParams的数据不会发生变化,因为数据是单向数据流,这里的赋值只会赋值一次。

通过如下方式解决:

javascript 复制代码
const props = defineProps({
	typeOne: {
		type: Number,
		default: 0
	},
	typeTwo: {
		type: Number,
		default: 0
	}
});
const { typeOne, typeTwo } = toRefs(props);
const searchParams = ref({
	typeOne: computed(() => typeOne.value),
	typeTwo: computed(() => typeTwo.value)
});

这样写了之后,父组件数据发生变化时,子组件的searchParams中的数据就会跟着变化。

在父组件中要使用nextTick中调用子组件中获取数据的接口,保证数据变化完后调用接口:

javascript 复制代码
nextTick(() => {
	children.getData();
});
相关推荐
এ慕ོ冬℘゜1 小时前
前端实战:jQuery实现动态表格渲染与状态切换功能
前端·javascript·jquery
zzzzzz3101 小时前
react-bits:把酷炫动效从“灵感截图”变成可复用的 React 组件
javascript·react.js·动效
jay神2 小时前
【计算机毕业设计】基于Flask+Vue的电影数据可视化与智能推荐系统
前端·vue.js·python·信息可视化·flask·毕业设计·课程设计
Chester_19998 小时前
CSP202203C.计算资源调度器
开发语言·数据结构·c++·蓝桥杯
FreeTinker8 小时前
HTML本地存储技术解析:localStorage与sessionStorage的原理、差异与应用场景
前端·html
qq_452396238 小时前
第十二篇:《全链路监控与可观测性:前端错误追踪与性能分析》
前端
海兰9 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(三)
javascript·python·金融
EXI-小洲9 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载
java·开发语言·spring boot·word
wangruofeng9 小时前
Phosphor Icons 官网源码拆解:URL 即存储、水波动画与 7362 Star 图标库的架构实践
前端·架构·github
BigTopOne9 小时前
WebRTC Native / Android 开发学习资源整理
前端