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 小时前
去到比北方更北的地方—2025年终总结
前端·ai编程·年终总结
一个懒人懒人1 小时前
Promise async/await与fetch的概念
前端·javascript·html
Mintopia1 小时前
Web 安全与反编译源码下的权限设计:构筑前后端一致的防护体系
前端·安全
像风一样的男人@1 小时前
python --读取psd文件
开发语言·python·深度学习
输出输入1 小时前
前端核心技术
开发语言·前端
加油,小猿猿1 小时前
Java开发日志-双数据库事务问题
java·开发语言·数据库
Mintopia1 小时前
Web 安全与反编译源码下的权限设计:构建前后端一体的信任防线
前端·安全·编译原理
薛定谔的猫喵喵1 小时前
天然气压力能利用系统综合性评价平台:基于Python和PyQt5的AHP与模糊综合评价集成应用
开发语言·python·qt
独好紫罗兰1 小时前
对python的再认识-基于数据结构进行-a004-列表-实用事务
开发语言·数据结构·python
gjxDaniel1 小时前
Objective-C编程语言入门与常见问题
开发语言·objective-c