vue 有没有办法直接在 jsx 里面插入自定义组件?

2019-01-10 15:44:10 +08:00
 MerlinLord

像这样,能方便很多。

 return (
      <div class="input-group">
        {this.$slots.default && this.$slots.default.map(item => {
        //如果 item 是个 vue component
         return item.componentOptions ? (<item></item>) : (item)
        })}
      </div>
    );

1696 次点击
所在节点    问与答
6 条回复
oyhw92
2019-01-10 16:04:24 +08:00
//如果 item 是个 vue component
return item.componentOptions ? this.$createElement(item) : (item)
MerlinLord
2019-01-10 16:18:35 +08:00
@oyhw92 #1 cannot:(
WenJimmy
2019-01-10 16:22:41 +08:00
<item /> ?
TomVista
2019-01-10 16:25:07 +08:00
渲染出 item 后,重新声明定义一个 item 组件.
TomVista
2019-01-10 16:38:57 +08:00
@MerlinLord 抱歉,我说的是错的.

应该是,先插入一个组件标签,然后销毁父 vue 实例,接着重建父 vue 实例.
TomVista
2019-01-10 16:46:47 +08:00
@MerlinLord vm.$forceUpdate(); 这个函数,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/525721

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX