Skip to content

Commit 38fec4b

Browse files
committed
fix(app): 修复腾讯地图regionchange事件不触发的Bug
1 parent 24a3620 commit 38fec4b

File tree

3 files changed

+63
-23
lines changed

3 files changed

+63
-23
lines changed

packages/uni-app-harmony/src/view/components/map/index.tsx

+29-11
Original file line numberDiff line numberDiff line change
@@ -360,16 +360,24 @@ function useMap(
360360
})
361361
// @ts-expect-error
362362
map.addEventListener('dragstart', () => {
363-
trigger('regionchange', {} as Event, {
364-
type: 'begin',
365-
causedBy: 'gesture',
366-
})
363+
trigger(
364+
'regionchange',
365+
{
366+
__evName: 'regionchange',
367+
} as unknown as Event,
368+
{
369+
type: 'begin',
370+
causedBy: 'gesture',
371+
}
372+
)
367373
})
368374
// @ts-expect-error
369375
map.addEventListener('dragend', () => {
370376
trigger(
371377
'regionchange',
372-
{} as Event,
378+
{
379+
__evName: 'regionchange',
380+
} as unknown as Event,
373381
extend(
374382
{
375383
type: 'end',
@@ -394,15 +402,23 @@ function useMap(
394402
trigger('click', {} as Event, {})
395403
})
396404
event.addListener(map, 'dragstart', () => {
397-
trigger('regionchange', {} as Event, {
398-
type: 'begin',
399-
causedBy: 'gesture',
400-
})
405+
trigger(
406+
'regionchange',
407+
{
408+
__evName: 'regionchange',
409+
} as unknown as Event,
410+
{
411+
type: 'begin',
412+
causedBy: 'gesture',
413+
}
414+
)
401415
})
402416
event.addListener(map, 'dragend', () => {
403417
trigger(
404418
'regionchange',
405-
{} as Event,
419+
{
420+
__evName: 'regionchange',
421+
} as unknown as Event,
406422
extend(
407423
{
408424
type: 'end',
@@ -417,7 +433,9 @@ function useMap(
417433
emit('update:scale', map.getZoom())
418434
trigger(
419435
'regionchange',
420-
{} as Event,
436+
{
437+
__evName: 'regionchange',
438+
} as unknown as Event,
421439
extend(
422440
{
423441
type: 'end',

packages/uni-app-plus/src/view/components/map/map-web.tsx

+33-11
Original file line numberDiff line numberDiff line change
@@ -357,18 +357,30 @@ function useMap(
357357
trigger('tap', {} as Event, {})
358358
trigger('click', {} as Event, {})
359359
})
360+
/**
361+
* regionchange事件在微信规范下比较特殊,其type为begin和end,通用的规范下type应为regionchange。
362+
* 目前在app端强行使用了通用规范,要改造为微信规范动静比较大
363+
*/
360364
// @ts-expect-error
361365
map.addEventListener('dragstart', () => {
362-
trigger('regionchange', {} as Event, {
363-
type: 'begin',
364-
causedBy: 'gesture',
365-
})
366+
trigger(
367+
'regionchange',
368+
{
369+
__evName: 'regionchange',
370+
} as unknown as Event,
371+
{
372+
type: 'begin',
373+
causedBy: 'gesture',
374+
}
375+
)
366376
})
367377
// @ts-expect-error
368378
map.addEventListener('dragend', () => {
369379
trigger(
370380
'regionchange',
371-
{} as Event,
381+
{
382+
__evName: 'regionchange',
383+
} as unknown as Event,
372384
extend(
373385
{
374386
type: 'end',
@@ -393,15 +405,23 @@ function useMap(
393405
trigger('click', {} as Event, {})
394406
})
395407
event.addListener(map, 'dragstart', () => {
396-
trigger('regionchange', {} as Event, {
397-
type: 'begin',
398-
causedBy: 'gesture',
399-
})
408+
trigger(
409+
'regionchange',
410+
{
411+
__evName: 'regionchange',
412+
} as unknown as Event,
413+
{
414+
type: 'begin',
415+
causedBy: 'gesture',
416+
}
417+
)
400418
})
401419
event.addListener(map, 'dragend', () => {
402420
trigger(
403421
'regionchange',
404-
{} as Event,
422+
{
423+
__evName: 'regionchange',
424+
} as unknown as Event,
405425
extend(
406426
{
407427
type: 'end',
@@ -416,7 +436,9 @@ function useMap(
416436
emit('update:scale', map.getZoom())
417437
trigger(
418438
'regionchange',
419-
{} as Event,
439+
{
440+
__evName: 'regionchange',
441+
} as unknown as Event,
420442
extend(
421443
{
422444
type: 'end',

packages/uni-components/src/helpers/useEvent.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ function normalizeCustomEvent(
4444
target = normalizeTarget(el)
4545
//#endif
4646
return {
47-
type: detail.type || name,
47+
type: (domEvt as any).__evName || detail.type || name,
4848
timeStamp: domEvt.timeStamp || 0,
4949
target,
5050
currentTarget: target,

0 commit comments

Comments
 (0)