Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
188 views
in Technique[技术] by (71.8m points)

Vue 如何遍历 $slots.default

我想实现一个 Flex 组件,使用方式如下:

<flex>
    <div>Hello</div>
    <div>World</div>
</flex>

生成如下html结构:

<div class="flex">
    <div class="flex-item">
        <div>Hello</div>
    </div>
    <div class="flex-item">
        <div>World</div>
    </div>
</div>

新手,不太清楚自定义组件里如何遍历$slots.default


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Flex.vue

<script>
  export default {
    name: 'Flex',
    created() {
      console.log()
    },
    render() {
      const t = () => this.$slots.default.map(v => {
        return (
          <div class="flex-item">
            {v}
          </div>
        )
      })
      return (<div class="flex">
        {t()}
      </div>)
    }
  }
</script>

使用

    <Flex>
      <div>Hello</div>
      <div>World</div>
    </Flex>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...