开发避坑短篇(6):Vue+Element UI 深度选择器实现表单元素精准对齐的技术实践

需求

el-form 表单的el-input和el-select默认宽度度不一致,导致不对齐,如下图。那么如何设置让el-input和el-select的宽度度一致并对齐?

vue 复制代码
<el-form class="page-form" :model="addForm" :rules="rules" :disabled="flag" ref="addForm" >
    <el-row>
        <el-col :span="8">
            <el-form-item label="订单编号" prop="orderNo">
            <el-input v-model="form.orderNo" :placeholder="showInfo ? '' : '请输入订单编号'" />
            </el-form-item>
        </el-col>
        <el-col :span="8">
            <el-form-item label="订单状态" prop="status">
                <el-select v-model="form.status" clearable>
                    <el-option
                    v-for="dict in order_status"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.value"
                    />
                </el-select>   
            </el-form-item>          
        </el-col> 
    </el-row>
</el-form>    

解决办法

(1)单行设置3列,

(2)在标签上设置属性label-position="left" label-width="100px",固定文本的对齐方式和宽度

(3)使用css深度选择器:deep(),统一设置表单元素的宽度

css 复制代码
/***修改input,select宽度 */
:deep(.el-collapse .el-input),
:deep(.el-collapse .el-select),
:deep(.el-collapse .el-date-editor){
  width: 450px;
}

注意,如果是el-dialog弹框页面上的表单,则需要用下面的方式修改

css 复制代码
/***修改弹框页面input,select宽度 */
:deep(.el-dialog__body .el-select),
:deep(.el-dialog__body .el-input){
  width: 400px;
}

当style标签有 scoped 属性时,它的 CSS 只作用于当前组件中的元素,父组件的样式将不会渗透到子组件。Vue中的:deep()深度选择器是用于穿透scoped样式限制的特殊语法,主要解决父组件修改子组件/第三方组件内部样式的需求‌。

相关推荐
Highcharts.js2 小时前
Highcharts 主流前端框架无缝集成指南
前端·vue.js·前端框架·highcharts·可视化图表
岁岁种桃花儿2 小时前
Vue核心语法第十一篇:绑定样式
前端·javascript·vue.js
Devlab11 小时前
LVGL设计大师——网页版anyui来了!!
嵌入式硬件·物联网·低代码·ui·iot
大龄码农有梦想17 小时前
Vue + BPMN.js + Camunda:搭建企业级流程设计器完整实践
javascript·vue.js·流程设计器·bpmn.js·bpmn·流程审批·工作流设计器
岁岁种桃花儿21 小时前
Vue核心语法第一篇:Vue是什么?
前端·javascript·vue.js
你挚爱的强哥1 天前
【chromeDownload】自定义组件:多用于登录框底部提供下载Chrome谷歌浏览器的链接
前端·vue.js·chrome
向星而行_star1 天前
Ito 模型在业务场景中的落地应用指南
ui
daols881 天前
vue 甘特图 vxe-gantt 任务条拖拽自动更新日期
javascript·vue.js·甘特图
界面开发小八哥1 天前
界面控件DevExpress XAF v26.1新版亮点——Blazor UI功能增强(二)
ui·界面控件·blazor·devexpress·ui开发
Oll Correct1 天前
Adobe illustrator 案例四:吃豆人 (Pac-Man)图标绘制
笔记·ui·adobe·illustrator