Skip to content

使用动态插槽, 并且插槽名称为 #[变量+变量] 时, 插槽无效 (拼接出来的插槽名称开头为undefined) #12945

Open
@isanonymous

Description

@isanonymous

Version

2.7.14

Reproduction link

gitee.com

Steps to reproduce

!!! 在vue3.2.37中是可以正常工作的, 但是在2.7.14中不行 ( 组件均为 <script setup> )

  1. 定义一个会根据props动态产生slot的组件 , 并在其中打印useSlots()
  2. 使用该组件, 并使用动态插槽名 <template #[form_slot_prefix+confs.conditionInputs.k]>
    2.1 这样写是无效的 , 产生的slot名 startsWith("undefined") , 后半段的值是正确的
  3. 这样写就正常了
    // form_slot_prefix来源为es6的import
    const slotName = form_slot_prefix+confs.conditionInputs.k
    <template #[slotName]>

What is expected?

可以这样使用动态插槽名: <template #[form_slot_prefix+confs.conditionInputs.k]>

What is actually happening?

这样写无法工作: <template #[form_slot_prefix+confs.conditionInputs.k]>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions