问题说明
在使用Element-UI的Container布局容器时,我将el-header
和el-aside
封装成了组件,导致布局出现问题。
布局.png
官方示例代码:
<el-container>
<el-header>Header</el-header>
<el-container>
<el-aside width="200px">Aside</el-aside>
<el-main>Main</el-main>
</el-container>
</el-container>
我的代码:
<el-container class="container">
<v-head></v-head> //这里我封装成了组件
<el-container class="container">
<v-sidebar></v-sidebar>
<el-main>
<transition name="move" mode="out-in">
<router-view></router-view>
</transition>
</el-main>
</el-container>
</el-container>
出现问题的布局如下图所示,header下方没有内容了
显示结果.png
问题排查
查了下官网的文档,发现这样一项说明
官网文档.png
封装成组件后,el-container
中没有了el-footer
和el-header
,导致子元素排列方向默认为horizontal
问题解决
在el-container
上增加 direction="vertical"
属性
<el-container class="container" direction="vertical">
<v-head></v-head>
<el-container class="container">
<v-sidebar></v-sidebar>
<el-main>
<transition name="move" mode="out-in">
<router-view></router-view>
</transition>
</el-main>
</el-container>
</el-container>