<el-descriptions class="test">
    <el-descriptions-item v-for="item in descItem" :label="item.label + ':'"
                          :width="item.width" :key="item.value"
                          label-align="right" style="margin-right: 0;">
      <span :style="item.style">{{ item.value }}</span>
    </el-descriptions-item>
  </el-descriptions>

item内可以放置文本,这里为了简便直接就用{{}}来取值了,放el-input也是可以的,多个框,双击内容取值就不会取到label了。

但有时候可能某个item的内容过长(用input能规避该问题,因为能隐藏溢出,自行拖动看到内容。但是这样不能一眼看完)

若是占据两三行,对整体格式影响不大,那么可以给el-descriptions添加类,然后在该组件下添加样式——需要去掉scoped,因为这个只认穿透,其余除非带!important基本不生效。

<style>
.test.el-descriptions .el-descriptions__body tbody{
   vertical-align: top; /* 对准方式 */
</style>

若是内容过多,那此时即使同一行内统一对齐顶部,看上去也会很违和。此时就要用到官方文档自带的两个属性

column:列表行内元素的数量,默认为3。也就是一行默认为3个item(为el-descriptions属性)

span:元素占据的列数,默认为1。也就是上面分配了3,那默认每个item占据一个格子(为el-descriptions-item属性)