fix(table): rowClassName not worked with striped

修复rowClassName属性无法和striped同时生效的问题

fixed: #1167
This commit is contained in:
无木
2021-09-06 20:12:48 +08:00
parent 59a9087728
commit 044e2e4e86
3 changed files with 10 additions and 6 deletions

View File

@@ -4,6 +4,7 @@
- **BasicTable** - **BasicTable**
- 单元格编辑新增提交回调,将根据回调函数返回的结果来决定是否将数据提交到表格 - 单元格编辑新增提交回调,将根据回调函数返回的结果来决定是否将数据提交到表格
- 行编辑添加校验方法,允许只校验而不提交值,以便异步保存数据成功后才提交倒表格 - 行编辑添加校验方法,允许只校验而不提交值,以便异步保存数据成功后才提交倒表格
- 修复`rowClassName`属性无法和`striped`同时使用的问题
### 🐛 Bug Fixes ### 🐛 Bug Fixes

View File

@@ -6,11 +6,14 @@ import { isFunction } from '/@/utils/is';
export function useTableStyle(propsRef: ComputedRef<BasicTableProps>, prefixCls: string) { export function useTableStyle(propsRef: ComputedRef<BasicTableProps>, prefixCls: string) {
function getRowClassName(record: TableCustomRecord, index: number) { function getRowClassName(record: TableCustomRecord, index: number) {
const { striped, rowClassName } = unref(propsRef); const { striped, rowClassName } = unref(propsRef);
if (!striped) return; const classNames: string[] = [];
if (rowClassName && isFunction(rowClassName)) { if (striped) {
return rowClassName(record); classNames.push((index || 0) % 2 === 1 ? `${prefixCls}-row__striped` : '');
} }
return (index || 0) % 2 === 1 ? `${prefixCls}-row__striped` : ''; if (rowClassName && isFunction(rowClassName)) {
classNames.push(rowClassName(record, index));
}
return classNames.filter((cls) => !!cls).join(' ');
} }
return { getRowClassName }; return { getRowClassName };

View File

@@ -25,7 +25,7 @@ export interface TableRowSelection<T = any> extends ITableRowSelection {
/** /**
* Callback executed when select/deselect one row * Callback executed when select/deselect one row
* @type FunctionT * @type Function
*/ */
onSelect?: (record: T, selected: boolean, selectedRows: Object[], nativeEvent: Event) => any; onSelect?: (record: T, selected: boolean, selectedRows: Object[], nativeEvent: Event) => any;
@@ -291,7 +291,7 @@ export interface BasicTableProps<T = any> {
* Row's className * Row's className
* @type Function * @type Function
*/ */
rowClassName?: (record: TableCustomRecord<T>) => string; rowClassName?: (record: TableCustomRecord<T>, index: number) => string;
/** /**
* Row selection config * Row selection config