关于el-input和el-select宽度不一致问题解决

1. 情景一

单列布局

关于el-input和el-select宽度不一致问题解决_第1张图片
对于上图这种情况,只需要给el-select加上style="width: 100%"即可,如下:

<el-select v-model="fjForm.region" placeholder="请选择阀门类型" style="width: 100%">
   <el-option label="区域一" value="shanghai">el-option>
   <el-option label="区域二" value="beijing">el-option>
el-select>

效果如下

关于el-input和el-select宽度不一致问题解决_第2张图片

2. 情景二

多列布局
关于el-input和el-select宽度不一致问题解决_第3张图片
这种情况下再给select加上width:100%,达不到预期的效果。
这种情况其实是el-select比el-input多了一个下箭头的icon导致的
关于el-input和el-select宽度不一致问题解决_第4张图片

解决方案1:
给input加上一个空的icon即可,如下:
关于el-input和el-select宽度不一致问题解决_第5张图片

<el-input v-model="fjForm.name" size="medium" suffix-icon=“xxxx”>el-input>        

效果如下:
关于el-input和el-select宽度不一致问题解决_第6张图片

解决方案2:

使用flex布局,为每个el-form-item都设置flex:1,并给select设置width:100%,如下:

  • css
.box-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
  • html
        <div class="box-flex">
          <el-form-item label="阀井名称" style="flex: 1">
            <el-input v-model="fjForm.name" size="medium">el-input>
          el-form-item>
          <el-form-item label="阀井编号" style="flex: 1">
            <el-input v-model="fjForm.overlayId" size="medium">el-input>
          el-form-item>
        div>
       <div class="box-flex">
          <el-form-item label="阀门大小" style="flex: 1">
            <el-input v-model="fjForm.valueSize" size="medium">el-input>
          el-form-item>
          <el-form-item label="阀门类型" style="flex: 1">
            <el-select v-model="fjForm.valveType" placeholder="请选择阀门类型" style="width: 100%">
              <el-option label="区域一" value="shanghai">el-option>
              <el-option label="区域二" value="beijing">el-option>
            el-select>
          el-form-item>
        div>

效果如下:
关于el-input和el-select宽度不一致问题解决_第7张图片

你可能感兴趣的:(菜鸟的踩坑之旅,vue.js,前端,javascript)