Skip to content

Commit 3d69c07

Browse files
authored
refactor: use rc-util/lib/pickAttrs (#526)
1 parent 1e9f064 commit 3d69c07

File tree

2 files changed

+7
-16
lines changed

2 files changed

+7
-16
lines changed

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@
4545
},
4646
"dependencies": {
4747
"@babel/runtime": "^7.10.1",
48-
"classnames": "^2.2.1"
48+
"classnames": "^2.2.1",
49+
"rc-util": "^5.32.2"
4950
},
5051
"devDependencies": {
5152
"@types/classnames": "^2.2.9",

src/Pagination.tsx

+5-15
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
/* eslint react/prop-types: 0 */
21
import classNames from 'classnames';
2+
import pickAttrs from 'rc-util/lib/pickAttrs';
33
import React, { cloneElement, isValidElement } from 'react';
44
import KEYCODE from './KeyCode';
55
import LOCALE from './locale/zh_CN';
@@ -486,20 +486,10 @@ class Pagination extends React.Component<PaginationProps, PaginationState> {
486486
const prevPage = current - 1 > 0 ? current - 1 : 0;
487487
const nextPage = current + 1 < allPages ? current + 1 : allPages;
488488

489-
const dataOrAriaAttributeProps = Object.keys(this.props).reduce(
490-
(prev, key) => {
491-
if (
492-
key.substr(0, 5) === 'data-' ||
493-
key.substr(0, 5) === 'aria-' ||
494-
key === 'role'
495-
) {
496-
// eslint-disable-next-line no-param-reassign
497-
prev[key] = this.props[key];
498-
}
499-
return prev;
500-
},
501-
{},
502-
);
489+
const dataOrAriaAttributeProps = pickAttrs(this.props, {
490+
aria: true,
491+
data: true,
492+
});
503493

504494
const totalText = showTotal && (
505495
<li className={`${prefixCls}-total-text`}>

0 commit comments

Comments
 (0)