Skip to content

Commit 4342b25

Browse files
committed
fix(Table): stickyLock right style disorder, close #2806
1 parent ead63c2 commit 4342b25

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

src/table/fixed.jsx

+8-13
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import BodyComponent from './fixed/body';
88
import WrapperComponent from './fixed/wrapper';
99
import { statics } from './util';
1010

11-
export default function fixed(BaseComponent) {
11+
export default function fixed(BaseComponent, stickyLock) {
1212
/** Table */
1313
class FixedTable extends React.Component {
1414
static FixedHeader = HeaderComponent;
@@ -26,10 +26,7 @@ export default function fixed(BaseComponent) {
2626
/**
2727
* 最大内容区域的高度,在`fixedHeader`为`true`的时候,超过这个高度会出现滚动条
2828
*/
29-
maxBodyHeight: PropTypes.oneOfType([
30-
PropTypes.number,
31-
PropTypes.string,
32-
]),
29+
maxBodyHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
3330
...BaseComponent.propTypes,
3431
};
3532

@@ -48,10 +45,7 @@ export default function fixed(BaseComponent) {
4845
getNode: PropTypes.func,
4946
onFixedScrollSync: PropTypes.func,
5047
getTableInstanceForFixed: PropTypes.func,
51-
maxBodyHeight: PropTypes.oneOfType([
52-
PropTypes.number,
53-
PropTypes.string,
54-
]),
48+
maxBodyHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
5549
};
5650

5751
state = {};
@@ -78,9 +72,7 @@ export default function fixed(BaseComponent) {
7872
}
7973

8074
getNode = (type, node, lockType) => {
81-
lockType = lockType
82-
? lockType.charAt(0).toUpperCase() + lockType.substr(1)
83-
: '';
75+
lockType = lockType ? lockType.charAt(0).toUpperCase() + lockType.substr(1) : '';
8476
this[`${type}${lockType}Node`] = node;
8577
};
8678

@@ -143,10 +135,13 @@ export default function fixed(BaseComponent) {
143135
const hasVerScroll = body.scrollHeight > body.clientHeight,
144136
hasHozScroll = body.scrollWidth > body.clientWidth;
145137
const style = {
146-
[paddingName]: scrollBarSize,
147138
[marginName]: scrollBarSize,
148139
};
149140

141+
if (!stickyLock) {
142+
style[paddingName] = scrollBarSize;
143+
}
144+
150145
if (!hasVerScroll) {
151146
style[paddingName] = 0;
152147
style[marginName] = 0;

src/table/index.jsx

+3
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,16 @@ const Table = ORDER_LIST.reduce((ret, current) => {
2323

2424
lock._typeMark = 'lock';
2525
expanded._typeMark = 'expanded';
26+
fixed._typeMark = 'fixed';
2627

2728
const StickyLockTable = ORDER_LIST.reduce((ret, current) => {
2829
const newLock = !ieVersion;
2930
if (current._typeMark === 'lock') {
3031
ret = newLock ? stickyLock(ret) : lock(ret);
3132
} else if (current._typeMark === 'expanded') {
3233
ret = newLock ? expanded(ret, true) : expanded(ret);
34+
} else if (current._typeMark === 'fixed') {
35+
ret = newLock ? fixed(ret, true) : fixed(ret);
3336
} else {
3437
ret = current(ret);
3538
}

0 commit comments

Comments
 (0)