fix(v-for): handle and warn when v-for receives non-integer range number (#2247)

close #2245
This commit is contained in:
underfin
2020-10-14 04:28:24 +08:00
committed by GitHub
parent 8539c0bf32
commit 02f355eb69
4 changed files with 24 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
import { isArray, isString, isObject } from '@vue/shared'
import { warn } from '@vue/runtime-core'
export function ssrRenderList(
source: unknown,
@@ -9,6 +10,10 @@ export function ssrRenderList(
renderItem(source[i], i)
}
} else if (typeof source === 'number') {
if (__DEV__ && !Number.isInteger(source)) {
warn(`The v-for range expect an integer value but got ${source}.`)
return
}
for (let i = 0; i < source; i++) {
renderItem(i + 1, i)
}