旧:表格的换行与不换行
最后更新于:2022-04-02 07:15:17
# 表格的换行与不换行
[TOC]
## 必备代码
若要使用该功能,必须引用以下代码
```
import '@/assets/less/TableExpand.less'
```
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/92/71/9271fa3e78669198ffb8b50b28b13a23_473x52.png)
## 一、强制表格所有列不换行
仅需在 `a-table` 上添加一个 class 样式即可(弊端: 会导致列设置宽度失效)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/04/7e/047ed88cb7b769354ce8aebe316bf577_447x50.png)
```
class="j-table-force-nowrap"
```
### 添加前效果
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/80/69/8069ae63475b561f33dce674663ac819_927x300.png)
### 添加后效果
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/4a/e4/4ae41878f6227e075d44dae370fbea26_971x603.png)
## 二、单个列强制不换行
给需要不换行的的列上加上以下代码
``` js
customRender: (text) => ({text})
```
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/66/2f/662f2d4538fce3b88ce993a22f14b9d2_792x268.png)
也可以写一个公共的方法,统一调用
``` js
const forceNowrap = (text) => ({text})
```
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/bc/b2/bcb21cfaad6c3396834b31a246b699d9_866x73.png)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/52/ac/52acd0537ffd337b859f64e4dab2a894_351x273.png)
如果设置了 slot,可以在slot里加上class,比如
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/c1/18/c118616079771fb28e4857e19ab38eb2_950x368.png)
## 三、强制表格换行
仅需在 `a-table` 上添加一个 class 样式即可
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/f3/9f/f39f57021aa45ef91639f454559b7c77_424x54.png)
```
class="j-table-force-wrap"
```
### 添加前效果
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/80/69/8069ae63475b561f33dce674663ac819_927x300.png)
### 添加后效果
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/d8/2d/d82d27256b377e5574c1f9b1154be111_938x396.png)
## 四、固定操作列或者其他列字段
> 20200427 平台升级,代码生成器改造点:
> 1. 默认加上 class="j-table-force-nowrap",强制列表不换行
> 2. 取消了操作列的默认固定(目的是为了更好的移动自适应效果),如果需要固定操作列,参考此文档。
需在 `a-table` 上添加一个 属性 :scroll="{x:true}" 即可
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/93/ef/93effb9d7960d18066a6721be3127e26_644x233.png)
需在 `column` 上添加一个 属性 fixed:"right", 同时最好指定宽度
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/ab/5f/ab5f896f3fcaadf8f52f47e21a9017bb_570x443.png)
选择框列固定在左边,加上属性 `,fixed: true`
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/68/e1/68e104f155c311d104dabaf5b64ce77e_875x380.png)
## 五、如何删除强制不换行样式,切换至原始写法
删除样式引入
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/d3/f4/d3f414e8936549dab5814c30bf091309_575x160.png)
删除样式属性
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/a9/d6/a9d685a130f9893c546461d68af87750_729x305.png)
## 常见问题解答
### 强制换行样式不生效?
为什么即使加上了 `j-table-force-wrap` 样式后也没有换行?
* `原因`: 达不到换行要求
因为没有设置列的宽度,所以默认是自适应的宽度,当程序认为有足够的宽度可以显示的时候,就不会换行了。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/76/45/764548e99f272ca07cc9da6387990755_1653x605.png)
* `解决方法`:主动给要换行或者内容可能很长的列设置宽度
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/f2/b6/f2b6047e23587f99b72cab2e7e155dd1_327x153.png)
* `效果`:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/6f/ba/6fba9fc867c34c97c123064c94b7ce06_1634x588.png)
代码备份
```
/** [表格主题样式二] 表格强制英文换行 */
.j-table-force-wrap {
th {
white-space: nowrap;
}
td {
white-space: normal;
word-wrap: break-word;
word-break: break-all;
}
}
/** 单列或文本强制不换行 */
.j-force-nowrap {
white-space: nowrap;
}
```
';