提交 b403165b 编写于 作者: fxy060608's avatar fxy060608

chore: build

上级 174b8325
......@@ -9,7 +9,7 @@
"build": "node scripts/build.js",
"build:h5": "node scripts/build.js uni-app uni-cli-shared uni-h5 uni-i18n uni-stat uni-shared uni-h5-vite vite-plugin-uni",
"build:app": "node scripts/build.js uni-app-plus uni-app-vite uni-app-vue",
"build:mp": "node scripts/build.js uni-mp-vue uni-mp-vite uni-mp-alipay uni-mp-baidu uni-mp-kuaishou uni-mp-lark uni-mp-qq uni-mp-toutiao uni-mp-weixin uni-quickapp-webview",
"build:mp": "node scripts/build.js uni-mp-vue uni-mp-vite uni-mp-compiler uni-mp-alipay uni-mp-baidu uni-mp-kuaishou uni-mp-lark uni-mp-qq uni-mp-toutiao uni-mp-weixin uni-quickapp-webview",
"size": "npm run build size-check",
"lint": "eslint packages/*/src/**/*.ts",
"format": "prettier --write --parser typescript \"packages/**/*.ts?(x)\"",
......
......@@ -5356,12 +5356,20 @@ function vOn(value, key) {
}
else {
// add
mpInstance[name] = createInvoker(value, instance);
mpInstance[name] = createInvoker(name, value, instance, mpInstance);
}
return name;
}
function createInvoker(initialValue, instance) {
const editorReady = 'eReady';
function createInvoker(name, initialValue, instance, mpInstance) {
const invoker = (e) => {
const dataset = e.target && e.target.dataset;
// TODO 临时解决 editor ready 事件可能错乱的问题 https://github.com/dcloudio/uni-app/issues/3406
if (mpInstance && dataset && dataset[editorReady]) {
if (invoker.id !== dataset[editorReady]) {
return mpInstance[dataset[editorReady]](e);
}
}
patchMPEvent(e);
let args = [e];
if (e.detail && e.detail.__args__) {
......@@ -5370,12 +5378,7 @@ function createInvoker(initialValue, instance) {
const eventValue = invoker.value;
const invoke = () => callWithAsyncErrorHandling(patchStopImmediatePropagation(e, eventValue), instance, 5 /* NATIVE_EVENT_HANDLER */, args);
// 冒泡事件触发时,启用延迟策略,避免同一批次的事件执行时机不正确,对性能可能有略微影响 https://github.com/dcloudio/uni-app/issues/3228
const eventTarget = e.target;
const eventSync = eventTarget
? eventTarget.dataset
? eventTarget.dataset.eventsync === 'true'
: false
: false;
const eventSync = dataset && dataset.eventsync;
if (bubbles.includes(e.type) && !eventSync) {
setTimeout(invoke);
}
......@@ -5383,6 +5386,7 @@ function createInvoker(initialValue, instance) {
return invoke();
}
};
invoker.id = name;
invoker.value = initialValue;
return invoker;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册