@tarojs/runtime 3.6.0-beta.3 → 3.6.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/index.d.ts +1 -0
- package/dist/dom/event.d.ts +1 -1
- package/dist/runtime.esm.d.ts +1 -1
- package/dist/runtime.esm.js +14 -1
- package/dist/runtime.esm.js.map +1 -1
- package/package.json +2 -2
|
@@ -44,6 +44,7 @@ export declare const ON_SHOW = "onShow";
|
|
|
44
44
|
export declare const ON_HIDE = "onHide";
|
|
45
45
|
export declare const OPTIONS = "options";
|
|
46
46
|
export declare const EXTERNAL_CLASSES = "externalClasses";
|
|
47
|
+
export declare const EVENT_CALLBACK_RESULT = "e_result";
|
|
47
48
|
export declare const BEHAVIORS = "behaviors";
|
|
48
49
|
export declare const A = "a";
|
|
49
50
|
/**
|
package/dist/dom/event.d.ts
CHANGED
|
@@ -20,4 +20,4 @@ export declare class TaroEvent {
|
|
|
20
20
|
get currentTarget(): any;
|
|
21
21
|
}
|
|
22
22
|
export declare function createEvent(event: MpEvent | string, node?: TaroElement): TaroEvent;
|
|
23
|
-
export declare function eventHandler(event: MpEvent):
|
|
23
|
+
export declare function eventHandler(event: MpEvent): any;
|
package/dist/runtime.esm.d.ts
CHANGED
|
@@ -127,7 +127,7 @@ declare class TaroEvent {
|
|
|
127
127
|
}
|
|
128
128
|
declare function createEvent(event: MpEvent | string, node?: TaroElement): TaroEvent;
|
|
129
129
|
// 小程序的事件代理回调函数
|
|
130
|
-
declare function eventHandler(event: MpEvent):
|
|
130
|
+
declare function eventHandler(event: MpEvent): any;
|
|
131
131
|
declare class FormElement extends TaroElement {
|
|
132
132
|
get value(): string | boolean | number | any[];
|
|
133
133
|
set value(val: string | boolean | number | any[]);
|
package/dist/runtime.esm.js
CHANGED
|
@@ -43,6 +43,7 @@ const ON_SHOW = 'onShow';
|
|
|
43
43
|
const ON_HIDE = 'onHide';
|
|
44
44
|
const OPTIONS = 'options';
|
|
45
45
|
const EXTERNAL_CLASSES = 'externalClasses';
|
|
46
|
+
const EVENT_CALLBACK_RESULT = 'e_result';
|
|
46
47
|
const BEHAVIORS = 'behaviors';
|
|
47
48
|
const A = 'a';
|
|
48
49
|
/**
|
|
@@ -464,7 +465,7 @@ class TaroEventTarget {
|
|
|
464
465
|
// 因此每次绑定事件都新建一个函数,如果带来了性能问题,可以把这段逻辑抽取到 PReact 插件中。
|
|
465
466
|
const oldHandler = handler;
|
|
466
467
|
handler = function () {
|
|
467
|
-
oldHandler.apply(this, arguments); // this 指向 Element
|
|
468
|
+
return oldHandler.apply(this, arguments); // this 指向 Element
|
|
468
469
|
};
|
|
469
470
|
handler.oldHandler = oldHandler;
|
|
470
471
|
const handlers = this.__handlers[type];
|
|
@@ -1368,6 +1369,9 @@ class TaroElement extends TaroNode {
|
|
|
1368
1369
|
if ((result === false || event._end) && cancelable) {
|
|
1369
1370
|
event.defaultPrevented = true;
|
|
1370
1371
|
}
|
|
1372
|
+
if (!isUndefined(result) && event.mpEvent) {
|
|
1373
|
+
event.mpEvent[EVENT_CALLBACK_RESULT] = result;
|
|
1374
|
+
}
|
|
1371
1375
|
if (event._end && event._stop) {
|
|
1372
1376
|
break;
|
|
1373
1377
|
}
|
|
@@ -2427,6 +2431,13 @@ function createEvent(event, node) {
|
|
|
2427
2431
|
return domEv;
|
|
2428
2432
|
}
|
|
2429
2433
|
const eventsBatch = {};
|
|
2434
|
+
function getEventCBResult(event) {
|
|
2435
|
+
const result = event[EVENT_CALLBACK_RESULT];
|
|
2436
|
+
if (!isUndefined(result)) {
|
|
2437
|
+
delete event[EVENT_CALLBACK_RESULT];
|
|
2438
|
+
}
|
|
2439
|
+
return result;
|
|
2440
|
+
}
|
|
2430
2441
|
// 小程序的事件代理回调函数
|
|
2431
2442
|
function eventHandler(event) {
|
|
2432
2443
|
var _a, _b;
|
|
@@ -2461,6 +2472,7 @@ function eventHandler(event) {
|
|
|
2461
2472
|
}
|
|
2462
2473
|
dispatch();
|
|
2463
2474
|
});
|
|
2475
|
+
return getEventCBResult(event);
|
|
2464
2476
|
}
|
|
2465
2477
|
else {
|
|
2466
2478
|
// 如果上层组件也有绑定同类型的组件,委托给上层组件调用事件回调
|
|
@@ -2469,6 +2481,7 @@ function eventHandler(event) {
|
|
|
2469
2481
|
}
|
|
2470
2482
|
else {
|
|
2471
2483
|
dispatch();
|
|
2484
|
+
return getEventCBResult(event);
|
|
2472
2485
|
}
|
|
2473
2486
|
}
|
|
2474
2487
|
}
|