diff --git a/packages/uni-mp-alipay/dist/uni.mp.esm.js b/packages/uni-mp-alipay/dist/uni.mp.esm.js index 5967cfe082c4caccbbfd9dcc6b60d626e3dfaa21..20176546ace7479aaa761992e7d04fa7c12ff53c 100644 --- a/packages/uni-mp-alipay/dist/uni.mp.esm.js +++ b/packages/uni-mp-alipay/dist/uni.mp.esm.js @@ -1,6 +1,6 @@ import { SLOT_DEFAULT_NAME, EventChannel, invokeArrayFns, ON_LOAD, ON_SHOW, ON_HIDE, ON_UNLOAD, ON_RESIZE, ON_TAB_ITEM_TAP, ON_REACH_BOTTOM, ON_PULL_DOWN_REFRESH, ON_ADD_TO_FAVORITES, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, ON_READY, ON_LAUNCH, ON_ERROR, ON_THEME_CHANGE, ON_PAGE_NOT_FOUND, ON_UNHANDLE_REJECTION, customizeEvent, addLeadingSlash, stringifyQuery, ON_BACK_PRESS } from '@dcloudio/uni-shared'; import { hasOwn, isArray, capitalize, isFunction, extend, isPlainObject, isString } from '@vue/shared'; -import { ref, findComponentPropsData, toRaw, updateProps, invalidateJob, getExposeProxy, EMPTY_OBJ, isRef, setTemplateRef, pruneComponentPropsCache } from 'vue'; +import { ref, findComponentPropsData, toRaw, updateProps, hasQueueJob, invalidateJob, getExposeProxy, EMPTY_OBJ, isRef, setTemplateRef, pruneComponentPropsCache } from 'vue'; import { normalizeLocale, LOCALE_EN } from '@dcloudio/uni-i18n'; const eventChannels = {}; @@ -403,7 +403,9 @@ function updateComponentProps(up, instance) { const nextProps = findComponentPropsData(up) || {}; if (hasPropsChanged(prevProps, nextProps)) { updateProps(instance, nextProps, prevProps, false); - invalidateJob(instance.update); + if (hasQueueJob(instance.update)) { + invalidateJob(instance.update); + } { instance.update(); } diff --git a/packages/uni-mp-baidu/dist/uni.mp.esm.js b/packages/uni-mp-baidu/dist/uni.mp.esm.js index da573c04bd9e2dd1e3d3de8c472858b591a54361..1d6a28909f8382993de6ec2059add5a2182678f4 100644 --- a/packages/uni-mp-baidu/dist/uni.mp.esm.js +++ b/packages/uni-mp-baidu/dist/uni.mp.esm.js @@ -1,6 +1,6 @@ import { SLOT_DEFAULT_NAME, EventChannel, invokeArrayFns, ON_LOAD, ON_SHOW, ON_HIDE, ON_UNLOAD, ON_RESIZE, ON_TAB_ITEM_TAP, ON_REACH_BOTTOM, ON_PULL_DOWN_REFRESH, ON_ADD_TO_FAVORITES, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, ON_READY, once, ON_LAUNCH, ON_ERROR, ON_THEME_CHANGE, ON_PAGE_NOT_FOUND, ON_UNHANDLE_REJECTION, addLeadingSlash, stringifyQuery, ON_INIT, customizeEvent } from '@dcloudio/uni-shared'; import { isArray, hasOwn, isFunction, extend, hyphenate, isPlainObject } from '@vue/shared'; -import { ref, nextTick, findComponentPropsData, toRaw, updateProps, invalidateJob, getExposeProxy, pruneComponentPropsCache } from 'vue'; +import { ref, nextTick, findComponentPropsData, toRaw, updateProps, hasQueueJob, invalidateJob, getExposeProxy, pruneComponentPropsCache } from 'vue'; import { normalizeLocale, LOCALE_EN } from '@dcloudio/uni-i18n'; const eventChannels = {}; @@ -581,11 +581,15 @@ function updateComponentProps(up, instance) { const nextProps = findComponentPropsData(up) || {}; if (hasPropsChanged(prevProps, nextProps)) { updateProps(instance, nextProps, prevProps, false); - const index = invalidateJob(instance.update); + if (hasQueueJob(instance.update)) { + invalidateJob(instance.update); + } { // 字节跳动小程序 https://github.com/dcloudio/uni-app/issues/3340 // 百度小程序 https://github.com/dcloudio/uni-app/issues/3612 - index === -1 && instance.update(); + if (!hasQueueJob(instance.update)) { + instance.update(); + } } } } diff --git a/packages/uni-mp-kuaishou/dist/uni.mp.esm.js b/packages/uni-mp-kuaishou/dist/uni.mp.esm.js index 3f0cea45d4d0b393298a1d8a205b6a9670e49325..e1a0865ebbcc584a8bc46619aed91f79a027f4c2 100644 --- a/packages/uni-mp-kuaishou/dist/uni.mp.esm.js +++ b/packages/uni-mp-kuaishou/dist/uni.mp.esm.js @@ -1,6 +1,6 @@ import { SLOT_DEFAULT_NAME, EventChannel, invokeArrayFns, ON_LOAD, ON_SHOW, ON_HIDE, ON_UNLOAD, ON_RESIZE, ON_TAB_ITEM_TAP, ON_REACH_BOTTOM, ON_PULL_DOWN_REFRESH, ON_ADD_TO_FAVORITES, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, ON_READY, once, ON_LAUNCH, ON_ERROR, ON_THEME_CHANGE, ON_PAGE_NOT_FOUND, ON_UNHANDLE_REJECTION, addLeadingSlash, stringifyQuery, customizeEvent } from '@dcloudio/uni-shared'; import { isArray, hasOwn, isFunction, extend, hyphenate, isPlainObject } from '@vue/shared'; -import { ref, nextTick, findComponentPropsData, toRaw, updateProps, invalidateJob, getExposeProxy, pruneComponentPropsCache } from 'vue'; +import { ref, nextTick, findComponentPropsData, toRaw, updateProps, hasQueueJob, invalidateJob, getExposeProxy, pruneComponentPropsCache } from 'vue'; import { normalizeLocale, LOCALE_EN } from '@dcloudio/uni-i18n'; const eventChannels = {}; @@ -570,7 +570,9 @@ function updateComponentProps(up, instance) { const nextProps = findComponentPropsData(up) || {}; if (hasPropsChanged(prevProps, nextProps)) { updateProps(instance, nextProps, prevProps, false); - invalidateJob(instance.update); + if (hasQueueJob(instance.update)) { + invalidateJob(instance.update); + } { instance.update(); } diff --git a/packages/uni-mp-lark/dist/uni.mp.esm.js b/packages/uni-mp-lark/dist/uni.mp.esm.js index 3e27abb0b054ae70946169eebb935ffd7f1b919f..796176b144bfd9da754da78a8d3f9c171946e353 100644 --- a/packages/uni-mp-lark/dist/uni.mp.esm.js +++ b/packages/uni-mp-lark/dist/uni.mp.esm.js @@ -1,6 +1,6 @@ import { SLOT_DEFAULT_NAME, EventChannel, invokeArrayFns, ON_LOAD, ON_SHOW, ON_HIDE, ON_UNLOAD, ON_RESIZE, ON_TAB_ITEM_TAP, ON_REACH_BOTTOM, ON_PULL_DOWN_REFRESH, ON_ADD_TO_FAVORITES, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, ON_READY, once, ON_LAUNCH, ON_ERROR, ON_THEME_CHANGE, ON_PAGE_NOT_FOUND, ON_UNHANDLE_REJECTION, addLeadingSlash, stringifyQuery, customizeEvent } from '@dcloudio/uni-shared'; import { isArray, hasOwn, isFunction, extend, isPlainObject, isObject } from '@vue/shared'; -import { ref, nextTick, findComponentPropsData, toRaw, updateProps, invalidateJob, getExposeProxy, pruneComponentPropsCache } from 'vue'; +import { ref, nextTick, findComponentPropsData, toRaw, updateProps, hasQueueJob, invalidateJob, getExposeProxy, pruneComponentPropsCache } from 'vue'; import { normalizeLocale, LOCALE_EN } from '@dcloudio/uni-i18n'; const eventChannels = {}; @@ -540,7 +540,9 @@ function updateComponentProps(up, instance) { const nextProps = findComponentPropsData(up) || {}; if (hasPropsChanged(prevProps, nextProps)) { updateProps(instance, nextProps, prevProps, false); - invalidateJob(instance.update); + if (hasQueueJob(instance.update)) { + invalidateJob(instance.update); + } { instance.update(); } diff --git a/packages/uni-mp-qq/dist/uni.mp.esm.js b/packages/uni-mp-qq/dist/uni.mp.esm.js index 7d4351da030574c3da8a6f6cde4a0a4da41430b0..acbe4b6f96963f28632b91f938536360b6786fed 100644 --- a/packages/uni-mp-qq/dist/uni.mp.esm.js +++ b/packages/uni-mp-qq/dist/uni.mp.esm.js @@ -1,6 +1,6 @@ import { SLOT_DEFAULT_NAME, EventChannel, invokeArrayFns, ON_LOAD, ON_SHOW, ON_HIDE, ON_UNLOAD, ON_RESIZE, ON_TAB_ITEM_TAP, ON_REACH_BOTTOM, ON_PULL_DOWN_REFRESH, ON_ADD_TO_FAVORITES, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, ON_READY, once, ON_LAUNCH, ON_ERROR, ON_THEME_CHANGE, ON_PAGE_NOT_FOUND, ON_UNHANDLE_REJECTION, addLeadingSlash, stringifyQuery, customizeEvent } from '@dcloudio/uni-shared'; import { isArray, hasOwn, isFunction, extend, isPlainObject } from '@vue/shared'; -import { ref, findComponentPropsData, toRaw, updateProps, invalidateJob, getExposeProxy, pruneComponentPropsCache } from 'vue'; +import { ref, findComponentPropsData, toRaw, updateProps, hasQueueJob, invalidateJob, getExposeProxy, pruneComponentPropsCache } from 'vue'; import { normalizeLocale, LOCALE_EN } from '@dcloudio/uni-i18n'; const eventChannels = {}; @@ -529,7 +529,9 @@ function updateComponentProps(up, instance) { const nextProps = findComponentPropsData(up) || {}; if (hasPropsChanged(prevProps, nextProps)) { updateProps(instance, nextProps, prevProps, false); - invalidateJob(instance.update); + if (hasQueueJob(instance.update)) { + invalidateJob(instance.update); + } { instance.update(); } diff --git a/packages/uni-mp-toutiao/dist/uni.mp.esm.js b/packages/uni-mp-toutiao/dist/uni.mp.esm.js index 0553cd66b326a0ce83d807db1991ef5a131dfbf8..9ed2080c9e757072b4b1c5233479f05b117d44c6 100644 --- a/packages/uni-mp-toutiao/dist/uni.mp.esm.js +++ b/packages/uni-mp-toutiao/dist/uni.mp.esm.js @@ -1,6 +1,6 @@ import { SLOT_DEFAULT_NAME, EventChannel, invokeArrayFns, ON_LOAD, ON_SHOW, ON_HIDE, ON_UNLOAD, ON_RESIZE, ON_TAB_ITEM_TAP, ON_REACH_BOTTOM, ON_PULL_DOWN_REFRESH, ON_ADD_TO_FAVORITES, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, ON_READY, once, ON_LAUNCH, ON_ERROR, ON_THEME_CHANGE, ON_PAGE_NOT_FOUND, ON_UNHANDLE_REJECTION, addLeadingSlash, stringifyQuery, customizeEvent } from '@dcloudio/uni-shared'; import { isArray, hasOwn, isFunction, extend, isPlainObject, isObject } from '@vue/shared'; -import { ref, nextTick, findComponentPropsData, toRaw, updateProps, invalidateJob, getExposeProxy, pruneComponentPropsCache } from 'vue'; +import { ref, nextTick, findComponentPropsData, toRaw, updateProps, hasQueueJob, invalidateJob, getExposeProxy, pruneComponentPropsCache } from 'vue'; import { normalizeLocale, LOCALE_EN } from '@dcloudio/uni-i18n'; const eventChannels = {}; @@ -540,11 +540,15 @@ function updateComponentProps(up, instance) { const nextProps = findComponentPropsData(up) || {}; if (hasPropsChanged(prevProps, nextProps)) { updateProps(instance, nextProps, prevProps, false); - const index = invalidateJob(instance.update); + if (hasQueueJob(instance.update)) { + invalidateJob(instance.update); + } { // 字节跳动小程序 https://github.com/dcloudio/uni-app/issues/3340 // 百度小程序 https://github.com/dcloudio/uni-app/issues/3612 - index === -1 && instance.update(); + if (!hasQueueJob(instance.update)) { + instance.update(); + } } } } diff --git a/packages/uni-mp-vue/dist/vue.runtime.esm.js b/packages/uni-mp-vue/dist/vue.runtime.esm.js index dac62870b2171dae6aa386738b8f94106ec8aea2..1c706554ee4ce0f4d555da68ce6d15368d051290 100644 --- a/packages/uni-mp-vue/dist/vue.runtime.esm.js +++ b/packages/uni-mp-vue/dist/vue.runtime.esm.js @@ -1456,13 +1456,14 @@ function queueFlush() { currentFlushPromise = resolvedPromise.then(flushJobs); } } +function hasQueueJob(job) { + return queue.indexOf(job) > -1; +} function invalidateJob(job) { const i = queue.indexOf(job); if (i > flushIndex) { queue.splice(i, 1); } - // fixed by xxxxxx - return i; } function queueCb(cb, activeQueue, pendingQueue, index) { if (!isArray(cb)) { @@ -5723,4 +5724,4 @@ function createApp(rootComponent, rootProps = null) { } const createSSRApp = createApp; -export { EffectScope, Fragment, ReactiveEffect, Text, c, callWithAsyncErrorHandling, callWithErrorHandling, computed$1 as computed, createApp, createSSRApp, createVNode$1 as createVNode, createVueApp, customRef, d, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineProps, diff, e, effect, effectScope, f, findComponentPropsData, getCurrentInstance, getCurrentScope, getExposeProxy, guardReactiveProps, h, inject, injectHook, invalidateJob, isInSSRComponentSetup, isProxy, isReactive, isReadonly, isRef, logError, m, markRaw, mergeDefaults, mergeProps, n, nextTick, o, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, p, patch, provide, proxyRefs, pruneComponentPropsCache, queuePostFlushCb, r, reactive, readonly, ref, resolveComponent, resolveDirective, resolveFilter, s, setCurrentRenderingInstance, setTemplateRef, setupDevtoolsPlugin, shallowReactive, shallowReadonly, shallowRef, sr, stop, t, toHandlers, toRaw, toRef, toRefs, triggerRef, unref, updateProps, useAttrs, useCssModule, useCssVars, useSSRContext, useSlots, version, w, warn$1 as warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withModifiers, withScopeId }; +export { EffectScope, Fragment, ReactiveEffect, Text, c, callWithAsyncErrorHandling, callWithErrorHandling, computed$1 as computed, createApp, createSSRApp, createVNode$1 as createVNode, createVueApp, customRef, d, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineProps, diff, e, effect, effectScope, f, findComponentPropsData, getCurrentInstance, getCurrentScope, getExposeProxy, guardReactiveProps, h, hasQueueJob, inject, injectHook, invalidateJob, isInSSRComponentSetup, isProxy, isReactive, isReadonly, isRef, logError, m, markRaw, mergeDefaults, mergeProps, n, nextTick, o, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, p, patch, provide, proxyRefs, pruneComponentPropsCache, queuePostFlushCb, r, reactive, readonly, ref, resolveComponent, resolveDirective, resolveFilter, s, setCurrentRenderingInstance, setTemplateRef, setupDevtoolsPlugin, shallowReactive, shallowReadonly, shallowRef, sr, stop, t, toHandlers, toRaw, toRef, toRefs, triggerRef, unref, updateProps, useAttrs, useCssModule, useCssVars, useSSRContext, useSlots, version, w, warn$1 as warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withModifiers, withScopeId }; diff --git a/packages/uni-mp-weixin/dist/uni.mp.esm.js b/packages/uni-mp-weixin/dist/uni.mp.esm.js index c0c2eb515cf4148b8a0ca7f164e79f1eaeaa32e8..ca87c3d486a9822180315a0aa720cbb7f00a880c 100644 --- a/packages/uni-mp-weixin/dist/uni.mp.esm.js +++ b/packages/uni-mp-weixin/dist/uni.mp.esm.js @@ -1,6 +1,6 @@ import { SLOT_DEFAULT_NAME, invokeArrayFns, ON_LOAD, ON_SHOW, ON_HIDE, ON_UNLOAD, ON_RESIZE, ON_TAB_ITEM_TAP, ON_REACH_BOTTOM, ON_PULL_DOWN_REFRESH, ON_ADD_TO_FAVORITES, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, ON_READY, once, ON_LAUNCH, ON_ERROR, ON_THEME_CHANGE, ON_PAGE_NOT_FOUND, ON_UNHANDLE_REJECTION, addLeadingSlash, stringifyQuery, customizeEvent } from '@dcloudio/uni-shared'; import { isArray, hasOwn, isFunction, extend, isPlainObject } from '@vue/shared'; -import { ref, findComponentPropsData, toRaw, updateProps, invalidateJob, getExposeProxy, pruneComponentPropsCache } from 'vue'; +import { ref, findComponentPropsData, toRaw, updateProps, hasQueueJob, invalidateJob, getExposeProxy, pruneComponentPropsCache } from 'vue'; import { normalizeLocale, LOCALE_EN } from '@dcloudio/uni-i18n'; const eventChannels = {}; @@ -529,7 +529,9 @@ function updateComponentProps(up, instance) { const nextProps = findComponentPropsData(up) || {}; if (hasPropsChanged(prevProps, nextProps)) { updateProps(instance, nextProps, prevProps, false); - invalidateJob(instance.update); + if (hasQueueJob(instance.update)) { + invalidateJob(instance.update); + } { instance.update(); } diff --git a/packages/uni-quickapp-webview/dist/uni.mp.esm.js b/packages/uni-quickapp-webview/dist/uni.mp.esm.js index f57bbf22ad1e024035e29884e749d07f9f251841..8640ac727242b4f0c1466a08567cfed25ff02a89 100644 --- a/packages/uni-quickapp-webview/dist/uni.mp.esm.js +++ b/packages/uni-quickapp-webview/dist/uni.mp.esm.js @@ -1,6 +1,6 @@ import { SLOT_DEFAULT_NAME, EventChannel, invokeArrayFns, ON_LOAD, ON_SHOW, ON_HIDE, ON_UNLOAD, ON_RESIZE, ON_TAB_ITEM_TAP, ON_REACH_BOTTOM, ON_PULL_DOWN_REFRESH, ON_ADD_TO_FAVORITES, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, ON_READY, once, ON_LAUNCH, ON_ERROR, ON_THEME_CHANGE, ON_PAGE_NOT_FOUND, ON_UNHANDLE_REJECTION, addLeadingSlash, stringifyQuery, customizeEvent } from '@dcloudio/uni-shared'; import { isArray, hasOwn, isFunction, extend, isPlainObject, isObject } from '@vue/shared'; -import { ref, nextTick, findComponentPropsData, toRaw, updateProps, invalidateJob, getExposeProxy, pruneComponentPropsCache } from 'vue'; +import { ref, nextTick, findComponentPropsData, toRaw, updateProps, hasQueueJob, invalidateJob, getExposeProxy, pruneComponentPropsCache } from 'vue'; import { normalizeLocale, LOCALE_EN } from '@dcloudio/uni-i18n'; const eventChannels = {}; @@ -518,7 +518,9 @@ function updateComponentProps(up, instance) { const nextProps = findComponentPropsData(up) || {}; if (hasPropsChanged(prevProps, nextProps)) { updateProps(instance, nextProps, prevProps, false); - invalidateJob(instance.update); + if (hasQueueJob(instance.update)) { + invalidateJob(instance.update); + } { instance.update(); }