Vue——使用vue slot 封装公共组件

使用vue slot 封装公共组件

公用子组件:publicSlot
      <div>
        <div class="top">
        <h1 class="title">{{title}}</h1>
        	<slot name="headerRight"> 可以根据你slot name属性选择插槽的位置</slot>
        </div>
        <slot> 这里相当于留个位置,接收父组件传入的内容</slot>
      </div>

export default {
    props: {
    title: {
      type: String
    }
  },
  }
  
  
父组件:
     <!-- 方式审核 -->
      <publicSlot :title="title">
        <div class="main_box">
            //这里可以写父组件自定义页面的内容
          <el-form :model="formDatas" label-width="120px">
            <el-row>
              <el-col :span="11">
                <el-form-item label="选择区域:">
                  <el-select v-model="formDatas.region">
                    <el-option label="区域一" value="shanghai"></el-option>
                    <el-option label="区域二" value="beijing"></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="24">
                <el-form-item label="输入框:">
                  <el-input
                    type="textarea" 
                    v-model="textarea"
                  >
                  </el-input>
                </el-form-item>
              </el-col>
              
            </el-row>
          </el-form>
        </div>
       //这里是插入了一个按钮
       <div slot="headerRight">
        <el-button   type="text">操作按钮</el-button>
      </div> 
      </publicSlot>

import publicSlot from '../public/components/publicSlot.vue'
export default {
    publicSlot
}

vue slot:
vue 插槽:
Vue 实现了一套内容分发的 API,这套 API 的设计灵感源自 Web Components 规范草案,将 元素作为承载分发内容的出口。

  • 具名插槽
  • 作用域插槽
  • 动态插槽

版权声明:本文为weixin_43551242原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。