1、jsx中如何使用插槽?
可以看这篇官方文档:cn.vuejs.org/guide/extra…
举个例子:在element-plus中:
<el-menu
:default-active="activeIndex"
class="el-menu-demo"
mode="horizontal"
@select="handleSelect"
>
<el-menu-item index="1">Processing Center</el-menu-item>
<el-sub-menu index="2">
<template #title>Workspace</template>
<el-menu-item index="2-1">item one</el-menu-item>
<el-menu-item index="2-2">item two</el-menu-item>
<el-menu-item index="2-3">item three</el-menu-item>
<el-sub-menu index="2-4">
<template #title>item four</template>
<el-menu-item index="2-4-1">item one</el-menu-item>
<el-menu-item index="2-4-2">item two</el-menu-item>
<el-menu-item index="2-4-3">item three</el-menu-item>
</el-sub-menu>
</el-sub-menu>
<el-menu-item index="3" disabled>Info</el-menu-item>
<el-menu-item index="4">Orders</el-menu-item>
</el-menu>
转换为jsx就是:
<el-menu
default-active={activeIndex.value}
class="el-menu-demo"
mode="horizontal"
onSelect={handleSelect}>
<el-menu-item index="1">Processing Center</el-menu-item>
<el-sub-menu index="2">
{{
default: () => (
<>
<el-menu-item index="2-1">item one</el-menu-item>
<el-menu-item index="2-2">item two</el-menu-item>
<el-menu-item index="2-3">item three</el-menu-item>
<el-sub-menu index="2-4">
{{
default: () => (
<>
<el-menu-item index="2-4-1">item one</el-menu-item>
<el-menu-item index="2-4-2">item two</el-menu-item>
<el-menu-item index="2-4-3">item three</el-menu-item>
</>
),
title: () => '11111',
}}
</el-sub-menu>
</>
),
title: () => <strong style={{ color: 'red' }}>not easy</strong>,
}}
</el-sub-menu>
<el-menu-item index="3" disabled>
Info
</el-menu-item>
<el-menu-item index="4">Orders</el-menu-item>
</el-menu>