diff --git a/src/core/instance/render-helpers/render-list.js b/src/core/instance/render-helpers/render-list.js index abe99db4d6d..040391c0f30 100644 --- a/src/core/instance/render-helpers/render-list.js +++ b/src/core/instance/render-helpers/render-list.js @@ -32,8 +32,9 @@ export function renderList ( ret[i] = render(val[key], key, i) } } - if (isDef(ret)) { - (ret: any)._isVList = true + if (!isDef(ret)) { + ret = [] } + (ret: any)._isVList = true return ret } diff --git a/test/unit/features/component/component.spec.js b/test/unit/features/component/component.spec.js index 34c037a1e74..44fa094a045 100644 --- a/test/unit/features/component/component.spec.js +++ b/test/unit/features/component/component.spec.js @@ -186,6 +186,50 @@ describe('Component', () => { }).then(done) }) + it('components with v-for and empty list', done => { + const vm = new Vue({ + template: + '