vue动态添加组件

(用VUE实现)项目中有一需求,我想征求一下大家的思路,看怎么实现更合理。需求是这样的:在一个页面中点击一个“创建”按钮,将创建一个“单选题”,点击创建“多选题”按钮则将创建一个多选题,即点击什么按钮将创建什么题型,创建的题目还可对其修改,添加,删除等操作。
我的思路是将每种题型都做成一个组件,点击创建时将该题型的组件放入父组件,最终渲染父组件,但是这样做的话,对每种题型的修改、添加、删除等操作应该在哪里写?是在子组件中还是父组件中?
下面是一个UI效果图:

clipboard.png

阅读 4.6k
2 个回答

我回答一下自己是怎么做的吧。我也是声明一个大的数组,里面放许多题目,添加或修改等任何操作时都将改变一下这个数组中的值,用watch来监听,然后去重新渲染页面。添加与删除操作我放到子组件了

提供两个思路吧:

  1. 维护一个数组来表示添加了多少个组件,然后用 v-if 来判断当前需要渲染的是哪个组件。

  2. 使用 Render 函数,并用函数化组件。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题