Skip to content

Allow including/excluding by key in keep-alive #2084

Closed
@zengyuanqiu

Description

@zengyuanqiu

What problem does this feature solve?

Want more flexible caching components

What does the proposed API look like?

<keep-alive include="detail-id-1,detail-id-2">
        <component :is="Component" :key="key" />
 </keep-alive>

Source code:232 line

  const name = getName(comp);
  const { include, exclude, max } = props;

  if (
    (include && (!name || !matches(include, name))) ||
    (exclude && name && matches(exclude, name))
  ) {
    return (current = vnode)
  }

  const key = vnode.key == null ? comp : vnode.key
  const cachedVNode = cache.get(key)

modify:

  const name = vnode.key || getName(comp)

The "key" value is preferred as the include or exclude condition

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions