-
-
Save maou-shonen/e35e96cb430dd8178c06c4ee79906e10 to your computer and use it in GitHub Desktop.
Vue 3's Suspense component, ready for use in Nuxtjs 2.x (TypeScript)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Vue from 'vue' | |
export default Vue.extend({ | |
name: 'Suspense', | |
render(createElement) { | |
const defaultVNode = this.$slots.default![0] | |
const isdefaultVNodeExist = | |
defaultVNode.elm !== undefined || | |
defaultVNode.componentOptions !== undefined || | |
defaultVNode.tag?.startsWith('vue-component') | |
if (isdefaultVNodeExist) { | |
return createElement('div', this.$slots.default) | |
} else { | |
return createElement('div', this.$slots.fallback) | |
} | |
}, | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment