Element UI 表格内容如何与表头左对齐?

image.png
使用elemet-ui设置的表格内容与表头无法左对齐
代码如下

<el-table  :data="tableData" style="width: 100%">
        <el-table-column type="index" label="序号" width="50">
        </el-table-column>
        <el-table-column prop="fileName" label="文件名" width="180">
        </el-table-column>
        <el-table-column prop="importDate" label="导入时间" width="180">
        </el-table-column>
        <el-table-column prop="importStatus" label="导入状态" width="180">
        </el-table-column>
        <el-table-column label="操作" width="180">
          <div style="text-align: center">
            <el-button type="text" size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
            <el-button type="text" size="small" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
          </div>
        </el-table-column>
      </el-table>

试着在el-table-column中添加align:left的属性,但是不行

阅读 997
avatarAI BotBETA

在 Element UI 的 <el-table-column> 组件中,没有直接名为 align:left 的属性来控制内容的对齐方式。相反,你应该使用 align 属性来设置内容的对齐方式。align 属性可以接受 'left', 'center', 或 'right' 作为值,来控制内容的水平对齐。

在你的例子中,如果你想要让所有的表格内容都左对齐,你应该在每个 <el-table-column> 组件上设置 align="left"。对于包含按钮的“操作”列,虽然按钮通常有自己的对齐方式,但设置 align="left" 仍然可以确保整个列的内容(如果还有其他文本内容的话)向左对齐。

修改后的代码如下:

<el-table :data="tableData" style="width: 100%">
  <el-table-column type="index" label="序号" width="50" align="left">
  </el-table-column>
  <el-table-column prop="fileName" label="文件名" width="180" align="left">
  </el-table-column>
  <el-table-column prop="importDate" label="导入时间" width="180" align="left">
  </el-table-column>
  <el-table-column prop="importStatus" label="导入状态" width="180" align="left">
  </el-table-column>
  <el-table-column label="操作" width="180" align="left">
    <template slot-scope="scope">
      <div style="text-align: left;"> <!-- 注意这里也改为左对齐,但通常对于按钮这不是必需的 -->
        <el-button type="text" size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
        <el-button type="text" size="small" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
      </div>
    </template>
  </el-table-column>
</el-table>

注意,对于“操作”列,我使用了 slot-scope(在 Element UI 2.x 中)或 v-slot(在 Vue 2.6+ 中推荐使用)来定义自定义的模板内容。这里我添加了 template 标签来包裹你的按钮,并且保持 divtext-align: left;(虽然对于按钮来说,这通常不是必需的,因为按钮有自己的对齐方式)。但是,添加 align="left"<el-table-column> 会确保列标题和内容(如果有的话)向左对齐。

另外,请确保你的 Element UI 版本支持你正在使用的语法和属性。如果你正在使用 Vue 3 和 Element Plus(Element UI 的 Vue 3 版本),语法可能略有不同。

2 个回答

不写属性 align也是左对齐image.pngimage.png

默认不就是左对齐的嘛?
图片.png

感觉OP是因为你们的项目有全局覆写 ..el-table th.el-table__cell 元素的样式,单独设置的文字居中。

建议OP通过devTools的审查模式找一下 .el-table__header 下的 .cell 元素的 text-align: center 属性是从哪里继承下来的。

推荐问题
宣传栏