版本:
Vue: 3.0.0
ag-grid-community: 26.1.0
ag-grid-vue3: 26.1.2
Chrome: 95.0.4638.54 (Official Build) (x86_64)
如何将内容集中在单个列下?
请注意,我尝试了各种解决方案;都失败了。我在下面列出代码。以下是我尝试过的案例。
尝试类似于 rightAligned 的方法。
文档描述了如何将列配置为右对齐数字。IE:
columnDefs: [
{ headerName: "Sample ID", field: "sampleId", sortable: true, checkboxSelection: true, type: 'rightAligned' },
.
.
.
],
leftAligned
直觉上,我猜想这centerAligned
会对单元格内容的水平对齐产生类似的影响。 没有。 这没有记录,显然不支持。
尝试细胞类。
然后我尝试设置一个自定义类,并尝试了适合普通收件箱内容以及弹性绑定内容的样式:
columnDefs: [
{ headerName: "Sample ID", field: "sampleId", sortable: true, checkboxSelection: true, cellClass: 'grid-cell-centered' },
.
.
.
],
和:
.grid-cell-centered {
justify-content: center;
}
或与:
.grid-cell-centered {
text-align: center;
}
没有。那也行不通。
尝试使用 ag-grid 提供的内置样式。
我使用其中一种内置样式成功地将列标题标签居中:
.ag-header-cell-label {
justify-content: center;
}
为了获得内容单元格的类似行为,我然后尝试了这个:
.ag-header-cell-text {
justify-content: center;
}
没有。 那也不行。
我们如何才能使整列居中?这是我的设置:
<template>
<ag-grid-vue style="height: 500px; width: 75%;"
class="ag-theme-alpine"
:columnDefs="columnDefs"
:rowData="rowData"
rowSelection="multiple">
</ag-grid-vue>
</template>
<script>
import "ag-grid-community/dist/styles/ag-grid.css";
import "ag-grid-community/dist/styles/ag-theme-alpine.css";
import { AgGridVue } from "ag-grid-vue3";
export default {
name: "CenterColumnContent",
components: {
AgGridVue,
},
setup() {
return {
columnDefs: [
{ headerName: "Sample ID", field: "sampleId", sortable: true, checkboxSelection: true, cellClass: 'grid-cell-centered' },
.
.
.
],
rowData: [
{ sampleId: "1" },
.
.
.
],
};
},
};
</script>
<style lang="scss">
@import "~ag-grid-community/dist/styles/ag-grid.css";
@import "~ag-grid-community/dist/styles/ag-theme-alpine.css";
.ag-header-cell-label {
justify-content: center;
}
.grid-cell-centered {
justify-content: center;
}
</style>