Commit e970884b3c7c8e1b5a1e712d1437070e68da70c4
1 parent
7f2e78d8
mousewheel support firefox and safari
Showing
1 changed file
with
19 additions
and
4 deletions
Show diff stats
src/components/table/table.vue
... | ... | @@ -12,7 +12,7 @@ |
12 | 12 | :data="rebuildData"></table-head> |
13 | 13 | </div> |
14 | 14 | <div :class="[prefixCls + '-body']" :style="bodyStyle" ref="body" @scroll="handleBodyScroll" |
15 | - @mousewheel="handleFixedMousewheel" | |
15 | + @mousewheel="handleFixedMousewheel" @DOMMouseScroll="handleFixedMousewheel" | |
16 | 16 | v-show="!((!!localeNoDataText && (!data || data.length === 0)) || (!!localeNoFilteredDataText && (!rebuildData || rebuildData.length === 0)))"> |
17 | 17 | <table-body |
18 | 18 | ref="tbody" |
... | ... | @@ -49,7 +49,8 @@ |
49 | 49 | :data="rebuildData"></table-head> |
50 | 50 | </div> |
51 | 51 | <div :class="[prefixCls + '-fixed-body']" :style="fixedBodyStyle" ref="fixedBody" |
52 | - @mousewheel="handleFixedMousewheel"> | |
52 | + @mousewheel="handleFixedMousewheel" @DOMMouseScroll="handleFixedMousewheel" | |
53 | + @touchmove="handleFixedTouchmove"> | |
53 | 54 | <table-body |
54 | 55 | fixed="left" |
55 | 56 | :prefix-cls="prefixCls" |
... | ... | @@ -72,7 +73,8 @@ |
72 | 73 | :data="rebuildData"></table-head> |
73 | 74 | </div> |
74 | 75 | <div :class="[prefixCls + '-fixed-body']" :style="fixedBodyStyle" ref="fixedRightBody" |
75 | - @mousewheel="handleFixedMousewheel"> | |
76 | + @mousewheel="handleFixedMousewheel" @DOMMouseScroll="handleFixedMousewheel" | |
77 | + @touchmove="handleFixedTouchmove"> | |
76 | 78 | <table-body |
77 | 79 | fixed="right" |
78 | 80 | :prefix-cls="prefixCls" |
... | ... | @@ -542,8 +544,21 @@ |
542 | 544 | if (this.isRightFixed) this.$refs.fixedRightBody.scrollTop = event.target.scrollTop; |
543 | 545 | this.hideColumnFilter(); |
544 | 546 | }, |
547 | + handleFixedTouchmove(event){ | |
548 | + //console.log(event); | |
549 | + if(event.touches && event.touches.length && event.touches.length===1){ | |
550 | + //const body = this.$refs.body; | |
551 | + } | |
552 | + }, | |
545 | 553 | handleFixedMousewheel(event) { |
546 | - const deltaY = event.deltaY; | |
554 | + let deltaY = event.deltaY; | |
555 | + if(!deltaY && event.detail){ | |
556 | + deltaY = event.detail * 40; | |
557 | + } | |
558 | + if(!deltaY && event.wheelDeltaY){ | |
559 | + deltaY = -event.wheelDeltaY; | |
560 | + } | |
561 | + if(!deltaY) return; | |
547 | 562 | const body = this.$refs.body; |
548 | 563 | const currentScrollTop = body.scrollTop; |
549 | 564 | if (deltaY < 0 && currentScrollTop !== 0) { | ... | ... |