其他分享
首页 > 其他分享> > 多层slot

多层slot

作者:互联网

有时候我们对三方UI组件进行二次封装的时候,会遇到这样一个问题:只是定制一些props或加一些部件,但是该组件的slot仍然要暴露给外部。这就涉及到多层slot的问题。

假设有一个三方组件APanel,其提供名为head、body、foot等slot,现在我们想将head、foot等进行定制,形成EhancedAPanel,但将body暴露给外部,可以这样写:

<template>
  <APanel>
    <div slot="head">定制标题</div>
      <div slot="body">
  	<slot name="body"/>
      </div>
    <div slot="foot">定制脚体</div>
  </APanel>
</template>

没错,只要再写一个slot传出去就行了。

如果body里带了一点数据,比如名为data,则可以这样:

<template>
  <APanel>
    <div slot="head">定制标题</div>
      <div slot="body" slot-scope="{data}">
  	<slot name="body" :data="data"/>
      </div>
    <div slot="foot">定制脚体</div>
  </APanel>
</template>

最后这样使用EhancedAPanel:

<template>
  <EhancedAPanel>
    <div slot="body" slot-scope="{data}">
      {{data}}
    </div>
  </EhancedAPanel>
</template>

标签:slot,body,多层,EhancedAPanel,组件,定制,脚体
来源: https://www.cnblogs.com/hdxg/p/16299738.html