diff --git a/types/options.d.ts b/types/options.d.ts index 8ae8f935..276a5b32 100644 --- a/types/options.d.ts +++ b/types/options.d.ts @@ -113,7 +113,7 @@ export interface FunctionalComponentOptions): VNode; + render?(this: undefined, createElement: CreateElement, context: RenderContext): VNode | VNode[]; } export interface RenderContext { diff --git a/types/test/options-test.ts b/types/test/options-test.ts index 83972d05..204b0dad 100644 --- a/types/test/options-test.ts +++ b/types/test/options-test.ts @@ -354,6 +354,16 @@ Vue.component('functional-component-check-optional', { functional: true }) +Vue.component('functional-component-multi-root', { + functional: true, + render(h) { + return [ + h("tr", [h("td", "foo"), h("td", "bar")]), + h("tr", [h("td", "lorem"), h("td", "ipsum")]) + ] + } +}) + Vue.component("async-component", ((resolve, reject) => { setTimeout(() => { resolve(Vue.component("component"));