Как рендерить детей в указанный именной слот в VueJs?

Обратитесь к приведенному ниже коду: в настоящее время все дочерние элементы отображены в слоте по умолчанию, хотя имя слота задано.

Не уверены, поддерживает ли функция vue createElement именованный слот?

@Component({
    props:[]
})
export class TestComponent extends Widget{
    items:any[];
    render(h:any){
        const rootcmp = {
            template:`<div>
                Temp:<slot name="temp"></slot>
                Default:<slot></slot>
            </div>`
            , data:()=>{
                return {};
            }
        }
        const cmp = {
            template:'<div slot="default">This is child</div>'
            , data:()=>{
                return {};
            }
        }
        const cmp2 = {
            template:'<div slot="temp">This is child</div>'
            , data:()=>{
                return {};
            }
        }
        return h(rootcmp, [h(cmp), h(cmp2)]);
    }
}

Текущее поведение:

<div>
Temp:Default:
<div>This is child</div>
<div>This is child</div>
</div>

Ожидаемое поведение:

<div>
Temp:
<div>This is child</div>
Default:
<div>This is child</div>
</div>

0 ответов

Это действительно, в вашем объекте параметров, попробуйте {slot:'slot-name'}

Другие вопросы по тегам