Home / Function/ renderList() — vue Function Reference

renderList() — vue Function Reference

Architecture documentation for the renderList() function in render-list.ts from the vue codebase.

Entity Profile

Dependency Diagram

graph TD
  dba0078f_2a65_d91e_1aae_1fe4810957f9["renderList()"]
  c2ff008c_559b_74a2_2b1c_e73c7c5d0ac3["render-list.ts"]
  dba0078f_2a65_d91e_1aae_1fe4810957f9 -->|defined in| c2ff008c_559b_74a2_2b1c_e73c7c5d0ac3
  style dba0078f_2a65_d91e_1aae_1fe4810957f9 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

src/core/instance/render-helpers/render-list.ts lines 7–49

export function renderList(
  val: any,
  render: (val: any, keyOrIndex: string | number, index?: number) => VNode
): Array<VNode> | null {
  let ret: Array<VNode> | null = null,
    i,
    l,
    keys,
    key
  if (isArray(val) || typeof val === 'string') {
    ret = new Array(val.length)
    for (i = 0, l = val.length; i < l; i++) {
      ret[i] = render(val[i], i)
    }
  } else if (typeof val === 'number') {
    ret = new Array(val)
    for (i = 0; i < val; i++) {
      ret[i] = render(i + 1, i)
    }
  } else if (isObject(val)) {
    if (hasSymbol && val[Symbol.iterator]) {
      ret = []
      const iterator: Iterator<any> = val[Symbol.iterator]()
      let result = iterator.next()
      while (!result.done) {
        ret.push(render(result.value, ret.length))
        result = iterator.next()
      }
    } else {
      keys = Object.keys(val)
      ret = new Array(keys.length)
      for (i = 0, l = keys.length; i < l; i++) {
        key = keys[i]
        ret[i] = render(val[key], key, i)
      }
    }
  }
  if (!isDef(ret)) {
    ret = []
  }
  ;(ret as any)._isVList = true
  return ret
}

Domain

Subdomains

Frequently Asked Questions

What does renderList() do?
renderList() is a function in the vue codebase, defined in src/core/instance/render-helpers/render-list.ts.
Where is renderList() defined?
renderList() is defined in src/core/instance/render-helpers/render-list.ts at line 7.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free