用于布局的容器组件,方便快速搭建页面的基本结构:
el-container:外层容器。当子元素中包含 或 时,全部子元素会垂直上下排列,否则会水平左右排列。
el-header:顶栏容器。
el-aside:侧边栏容器。
el-main:主要区域容器。
el-footer:底栏容器。
以上组件采用了 flex 布局,elemen-ui官方文档链接:
http://element-cn.eleme.io/#/zh-CN/component/container
此外,el-container 的子元素只能是后四者,后四者的父元素也只能是 el-container。【这句话请注意】
一般这种装箱容器在使用element-ui编写页面的时候非常常见,比 div 更好用一点,但是这次我在使用的时候,他非常的“不听话”
一、我的需求
这是一个弹出框,基本的页面布局是:
上面的一行为弹出框的title显示
中间部分是主要展示内容
最下面是基本操作按钮
二、提出问题
我最开始的布局代码是:
部分不能说明问题的代码没有写出来
<template> <el-container class="subject-match height-inherit" id="subject-match"> <el-row :gutter="50"> <el-col :span="5"> </el-col> <el-col :span="19"> </el-col> </el-row> <el-row class="margin-top-10 text-align-right"> <el-button type="primary" @click="closeDialog()">确 定</el-button> <el-button @click="closeDialog()">取 消</el-button> </el-row> </el-container> </template>
出现的页面是:
这个红色的部分,我放在了el-row里面,应该会出现在最后一行位置,但是他出现在第一行的并存位置,仔细查看代码,一切正常。
浏览器也已经识别
CSS样式没有冲突的地方。
三、解决方案
修改代码el-container布局为div
页面布局就是想要的结果:
四、分析原因
1、el-container 的子元素只能是后四者,后四者的父元素也只能是 el-container
我错误出现的原因在于,我在el-container 布局容器里面放入了el-row,虽然浏览器已经识别那是一个行组件,但是没有把他真正的作用体现出来。
2、div中一般是el-row和rl-col
div中的el-row和rl-col就和普通HTML中的表格行与列相似。
3、el-container一般用于整个页面的大布局,div常用于部分区域的小布局
div一般是;
el-container一般是:
希望大家以后别犯我这样子的错误哈
五、本页面的源码
本页面的数据是mock模拟生成的,后期的税局库数据是通过url在service中获取的
<template> <div class="subject-match height-inherit" id="subject-match"> <el-row :gutter="50"> <el-col :span="7"> <el-table :data="data" style="width: 100%" row-key="id" border size="small"> <el-table-column prop="event" label="项目结构"> </el-table-column> <!--<el-table-column--> <!--prop="comment"--> <!--label="comment">--> <!--</el-table-column>--> </el-table> </el-col> <el-col :span="17"> <div> <el-tabs v-model="activeName" @tab-click="handleClick"> <el-tab-pane label="分部分项指标" name="first"></el-tab-pane> </el-tabs> </div> <template v-if="activeName === 'first'"> <div> <el-checkbox>只显示未设置指标项</el-checkbox> </div> <div class="margin-top-10"> <el-table :data="tableData" border :max-height="maxHeight" v-loading="loading" :header-cell-style="{background:'#eef1f6',color:'#606266'}" size="small"> <el-table-column type="index" align="center" class-name="index" label="序号" width="50"> </el-table-column> <el-table-column prop="code" header-align="center" label="编码"> </el-table-column> <el-table-column prop="name" label="名称" align="center"> </el-table-column> <el-table-column prop="unit" label="单位" align="center"> </el-table-column> <el-table-column prop="quentity" label="工程量" header-align="center" > </el-table-column> <el-table-column prop="unitPrice" label="综合单价" align="center"> </el-table-column> <el-table-column prop="combinedPrice" label="综合合价" header-align="center" > </el-table-column> <el-table-column prop="costEstimate" label="概算费用科目" class-name="editor-column" header-align="center" > <template slot-scope="scope"> <template v-if="scope.row.costEstimateEditor"> <el-input size="small" placeholder="请输入内容" v-model="scope.row.costEstimate"> <i slot="suffix" class="el-input__icon el-icon-check pointer" @click="scope.row.costEstimateEditor = false"></i> </el-input> </template> <template v-else> <span class="pointer" @click="scope.row.costEstimateEditor = true"> {{scope.row.costEstimate||"-"}} <i class="el-icon-edit" style="display: none;"></i> </span> </template> </template> </el-table-column> <el-table-column prop="costProject" label="概算工程量科目" class-name="editor-column" header-align="center" > <template slot-scope="scope"> <template v-if="scope.row.costProjectEditor"> <el-input size="small" placeholder="请输入内容" v-model="scope.row.costProject"> <i slot="suffix" class="el-input__icon el-icon-check pointer" @click="scope.row.costProjectEditor = false"></i> </el-input> </template> <template v-else> <span class="pointer" @click="scope.row.costProjectEditor = true"> {{scope.row.costProject||"-"}} <i class="el-icon-edit" style="display: none;"></i> </span> </template> </template> </el-table-column> <el-table-column prop="quantityIndex" label="工程量指标单位" header-align="center" > </el-table-column> <el-table-column prop="conversion" label="转换系数" class-name="editor-column" header-align="center" > <template slot-scope="scope"> <template v-if="scope.row.conversionEditor"> <el-input size="small" placeholder="请输入内容" v-model="scope.row.conversion"> <i slot="suffix" class="el-input__icon el-icon-check pointer" @click="scope.row.conversionEditor = false"></i> </el-input> </template> <template v-else> <span class="pointer" @click="scope.row.conversionEditor = true"> {{scope.row.conversion||"-"}} <i class="el-icon-edit" style="display: none;"></i> </span> </template> </template> </el-table-column> </el-table> </div> </template> </el-col> </el-row> <el-row class="margin-top-10 text-align-right"> <el-button type="primary" @click="handleCommit()">应用修改</el-button> <el-button @click="closeDialog()">取 消</el-button> </el-row> </div> </template> <script> import {subjectMatch} from 'service/budget/adjust'; export default { name: 'subject-match', data() { return { activeName: 'first', loading: false, maxHeight: 500, tableData: [], data: [ { id: 0, event: "大学城一期项目", timeLine: 50, comment: "无", children: [ { id: 1, event: "大学城一期项目工程1楼", timeLine: 10, comment: "无", children: [ { id: 2, event: "大学城一期项目工程1楼土建工程", timeLine: 5, comment: "无" }, { id: 3, event: "大学城一期项目工程1楼电气工程", timeLine: 10, comment: "无" }, { id: 4, event: "大学城一期项目工程1楼排水工程", timeLine: 75, comment: "无" }, { id: 5, event: "大学城一期项目工程1楼采暖主体工程", timeLine: 25, comment: "无" } ] }, { id: 6, event: "大学城一期项目工程2楼", timeLine: 90, comment: "无", children: [ { id: 7, event: "大学城一期项目工程2楼土建工程", timeLine: 5, comment: "无" }, { id: 8, event: "大学城一期项目工程2楼电气工程", timeLine: 10, comment: "无" }, { id: 9, event: "大学城一期项目工程2楼排水工程", timeLine: 75, comment: "无" }, { id: 10, event: "大学城一期项目工程2楼采暖主体工程", timeLine: 25, comment: "无" } ] } ] } ], columns: [ { text: "事件", value: "event", width: 200 }, { text: "ID", value: "id" } ], defaultProps: { children: 'children', label: 'label', id: 'id', level: 'level' } }; }, mounted() { this.getList(); }, methods: { // 获取列表数据 getList() { this.loading = true; subjectMatch().then(res => { this.loading = false; this.tableData = res.data; }); }, // 确定操作 handleCommit() { this.closeDialog(true); }, // 关闭弹窗 closeDialog(refresh = false) { this.$emit('hideDialog', refresh); }, handleClick(event){ console.log(event) } } }; </script> <style lang="less"> </style>
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】
- 陈思安.1990-国语钢琴酒吧5CD【欣代唱片】【WAV+CUE】
- 莫文蔚《莫后年代20周年世纪典藏》3CD[WAV+CUE][2G]
- 张惠妹《我要快乐》华纳[WAV+CUE][1G]
- 罗大佑1982《之乎者也》无法盗版的青春套装版 [WAV+CUE][1G]
- 曾庆瑜1989-款款柔情[日本东芝版][WAV+CUE]
- Scelsi-IntegraledesquatuorsacordesetTrioacordes-QuatuorMolinari(2024)[24bit-WAV]
- 房东的猫2017-房东的猫[科文音像][WAV+CUE]
- 杨乃文.2016-离心力(引进版)【亚神音乐】【WAV+CUE】
- 群星.2024-珠帘玉幕影视原声带【TME】【FLAC分轨】
- 芝麻龙眼.2008-光阴隧道民歌记录3CD【乡城】【WAV+CUE】
- 谭艳《再度重相逢HQII》头版限量[低速原抓WAV+CUE][549M]
- ABC唱片《蔡琴三十周年纪念版》6N纯银镀膜 [WAV+CUE][1.1G]