关于vue父组件动态传参给子组件的问题

问题是这样的,我在父组件里有个选择下拉框,默认选择第一个,每选择不一样的时候就要动态更新子组件。
我可以在子组件里通过watch来动态的监听父组件传过来的数据,但是却改变不了子组件里的data里的初始化数据。因为这个初始化数据会影响页面,如图1,图中的输入框等都是通过动态数据加载出来的,不同的选择模板出来的文本框的数量类型都不一样,我用的是element ui的那个组件,如果不初始化就输入不了,所以想问下大家有没有可以动态更新子组件全部的,包括初始化这块
https://img4.mukewang.com/5c91f3970001fdb104010549.jpg

这个是父组件代码:
https://img.mukewang.com/5c91f39c0001c6ad05310125.jpg

下面是子组件代码:
https://img4.mukewang.com/5c91f39e0001a9d206400563.jpg

我其实问题最主要的是子组件里的文本框的数量是根据contractTemplateDetail里返回的数据决定的,会给我返回一个数组,数组的长度决定输入框的数量,而子组件的data里会对contractTemplateDetail的数据进行遍历然后会给输入框做一个初始化,只有做了初始化文本框才能正常输入,我监听了contractTemplateDetail这个也只能改变这个数据,但是初始化只做一次呢,也就是data里遍历做初始化只有一开始一次,后面的动态改变都不能再初始化呢,我想问大家有没有好的办法


慕尼黑的夜晚无繁华
浏览 3296回答 3
3回答

动漫人物

你在template里面用v-if或者v-show这种先写好所有模板,然后改变对应的true值来使用不同的模板应该可以的

翻翻过去那场雪

你的watch的代码呢? 这个要再watch里进行处理的。要看你的代码 watch
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript