Skip to content

Commit

Permalink
fix(table): rowClassName not worked with striped
Browse files Browse the repository at this point in the history
修复rowClassName属性无法和striped同时生效的问题

fixed: #1167
  • Loading branch information
mynetfan committed Sep 6, 2021
1 parent 59a9087 commit 044e2e4
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 5 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
- **BasicTable**
- 单元格编辑新增提交回调,将根据回调函数返回的结果来决定是否将数据提交到表格
- 行编辑添加校验方法,允许只校验而不提交值,以便异步保存数据成功后才提交倒表格
- 修复`rowClassName`属性无法和`striped`同时使用的问题

### 🐛 Bug Fixes

Expand Down
9 changes: 6 additions & 3 deletions src/components/Table/src/hooks/useTableStyle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,14 @@ import { isFunction } from '/@/utils/is';
export function useTableStyle(propsRef: ComputedRef<BasicTableProps>, prefixCls: string) {
function getRowClassName(record: TableCustomRecord, index: number) {
const { striped, rowClassName } = unref(propsRef);
if (!striped) return;
const classNames: string[] = [];
if (striped) {
classNames.push((index || 0) % 2 === 1 ? `${prefixCls}-row__striped` : '');
}
if (rowClassName && isFunction(rowClassName)) {
return rowClassName(record);
classNames.push(rowClassName(record, index));
}
return (index || 0) % 2 === 1 ? `${prefixCls}-row__striped` : '';
return classNames.filter((cls) => !!cls).join(' ');
}

return { getRowClassName };
Expand Down
4 changes: 2 additions & 2 deletions src/components/Table/src/types/table.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export interface TableRowSelection<T = any> extends ITableRowSelection {

/**
* Callback executed when select/deselect one row
* @type FunctionT
* @type Function
*/
onSelect?: (record: T, selected: boolean, selectedRows: Object[], nativeEvent: Event) => any;

Expand Down Expand Up @@ -291,7 +291,7 @@ export interface BasicTableProps<T = any> {
* Row's className
* @type Function
*/
rowClassName?: (record: TableCustomRecord<T>) => string;
rowClassName?: (record: TableCustomRecord<T>, index: number) => string;

/**
* Row selection config
Expand Down

0 comments on commit 044e2e4

Please sign in to comment.