close #13805
re-fix #13744
revert #13777
The implementation in #13777 requires users to configure __FEATURE_PROD_HYDRATION_MISMATCH_DETAILS__, otherwise errors like #13805 will occur.
[vShowHidden]: boolean
}
-export const vShow: ObjectDirective<VShowElement> & { name?: 'show' } = {
+export const vShow: ObjectDirective<VShowElement> & { name: 'show' } = {
+ // used for prop mismatch check during hydration
+ name: 'show',
beforeMount(el, { value }, { transition }) {
el[vShowOriginalDisplay] =
el.style.display === 'none' ? '' : el.style.display
},
}
-if (__DEV__ || __FEATURE_PROD_HYDRATION_MISMATCH_DETAILS__) {
- vShow.name = 'show'
-}
-
function setDisplay(el: VShowElement, value: unknown): void {
el.style.display = value ? el[vShowOriginalDisplay] : 'none'
el[vShowHidden] = !value