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

View File

@@ -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;
if (rowClassName && isFunction(rowClassName)) {
return rowClassName(record);
const classNames: string[] = [];
if (striped) {
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 };

View File

@@ -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;
@@ -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