在vue 的render函数中, 通过createElement重新创建/渲染子组件/元素, props无法传入给子组件
发布于 3 年前 作者 feer 1461 次浏览 来自 问答
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利

我需要实现一个组件, 目前看来只能通过render来实现.
该组件大概逻辑是:

  1. 通过 this.$slots.default 取得子节点, 然后重新计算子节点的一些属性值.
  2. 通过createElement 将新的attrs, props通过data参数传入.

问题:
attrs能正常传入给子组件, props无法传给子组件. 通过查看页面[https://5mm5s.csb.app/]的源代码, 发现元素的propa未能成功读取到新的props属性值.

相应代码在:

CodeSandbox

Vue Component - CodeSandbox

The online code editor tailored for web applications

组件及子组件的初始化代码, 在HelloWorld.vue中.

请问是我使用方式的问题嘛? 有什么办法让父组件能将新的props传入到子组件中, 并重新渲染?

回到顶部