在线表单场景下,使用vue开发。问题如下:
问题描述:
在父组件中,使用了子组件,并通过setinterval不断改变父组件中的一个ref值。在子组件中,使用了第三方组件van-calendar。当在子组件中点击van-Calendar切到上一个月之后,会自动切换回7月,像是重新渲染了一样。
原因分析:
正常情况下,calendar组件不会重新渲染。这种情况可能是触发了组件内部的监听导致刷新。
立即学习“前端免费学习笔记(深入)”;
解决方案:
检查以下可能导致刷新的写法:
- 将van-calendar上的max-date绑定到一个data中的变量,而不是使用new date()。
- 检查van-calendar组件上的属性是否有变化,比如绑定的v-model、option之类的。
- 避免使用key属性导致强制刷新,如:
<child :item="item" :key="item" />