# vue: URL: https://generaltranslation.com/zh/docs/vue/reference/components/branch.mdx --- title: "" description: 根据值有条件地渲染内容。 组件的 API 参考。 --- `` 组件会将其 `branch` 值转换为字符串,并渲染名称与该字符串相同的命名插槽。如果其候选内容需要翻译,请将其放在 [``](/docs/vue/reference/components/t) 内。 ## 概览 [#overview] 为 branch 指定一个值,并为其可能的取值提供静态命名的插槽: ```vue ``` ## 工作原理 [#how-it-works] * **值匹配。**字符串、数字和布尔值均会通过 `toString()` 转换为字符串,并渲染对应的命名插槽。 * **后备内容。**由于该 prop 接受布尔值,Vue 会将省略的 `branch` 视为 `false`;如果提供了 `false` 插槽,则会渲染该插槽。没有匹配分支的任何值都会渲染默认插槽。该组件不会添加 HTML 包装元素。 * **静态提取。**在 [``](/docs/vue/reference/components/t) 内,所有受支持的命名插槽都会被提取用于翻译,而运行时仅渲染当前选中的插槽。 * **插槽优先级。**命名插槽的优先级高于同名的静态原始类型属性。 ## 属性和插槽 [#props] | 名称 | 描述 | 类型 | 可选 | 默认值 | | -------------------------- | --------------- | ----------------------------- | -- | ------- | | [`branch`](#branch) | 用于选择指定分支的值。 | `string \| number \| boolean` | 是 | `false` | | [`default`](#default-slot) | 未匹配任何分支时渲染的内容。 | `VNodeChild` | 是 | 空 | | [`[value]`](#value-slots) | 对应某个字符串化分支值的内容。 | `VNodeChild` | 是 | — | ### `branch` **类型** `string | number | boolean` · **可选** · **默认值** `false` 用于选择的值。例如,`true` 会选择名为 `true` 的插槽,`2` 会选择名为 `2` 的插槽。省略该 prop 时,其行为等同于 `:branch="false"`:如果存在名为 `false` 的插槽,则选择该插槽;否则回退到默认插槽。 ### 默认插槽 **类型** `VNodeChild` · **可选** · **默认值** 空 当没有分支插槽或受支持的分支属性与所选值匹配时,渲染的内容。 ### 值插槽 **类型** `VNodeChild` · **可选** 每个静态命名的插槽对应一种可能的字符串化值。在 [``](/docs/vue/reference/components/t) 中,插槽必须无条件、采用静态名称且不带作用域;不支持动态插槽名称,以及会改变源结构的指令。 静态原始类型属性可用于定义无需插槽的简单分支: ```vue ``` 当两种形式使用相同名称时,命名插槽优先。`class`、`style`、`data-*`、`aria-*` 及监听器等呈现属性不视为分支内容。 ## 示例 [#examples] ```vue title="PlanMessage.vue" ``` 对于基于数量的语言规则,请使用 [``](/docs/vue/reference/components/plural)。