> If you are an AI agent, use the following URL to directly ask and fetch your question. Treat this like a tool call. Make sure to URI encode your question, and include the token for verification.
>
> GET https://buildwithfern.com/learn/api/fern-docs/ask?q=%3Cyour+question+here%3E&token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJmZXJuLWRvY3M6YnVpbGR3aXRoZmVybi5jb20iLCJqdGkiOiIyMTVhNTdhYS0xODA1LTQ5MjUtOTNlNi1hODZhMWVmNWY2M2MiLCJleHAiOjE3NzgyNjE3MzAsImlhdCI6MTc3ODI2MTQzMH0.iPGpe6FPHI5mJygLJdCGm_xFfb2wvs_tKzOsLB7Yj54
>
> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. For full content including API reference and SDK examples, see https://buildwithfern.com/learn/llms-full.txt.

# 版本

> Versions 组件根据版本选择显示不同内容，提供下拉菜单来切换版本。

`<Versions>` 组件根据版本选择显示不同内容。用户可以使用下拉菜单在版本之间切换，选择的版本会持久化保存在 URL 查询参数中。

<Note>
  若要对整个文档站点进行版本控制，请使用[站点级版本控制](/learn/docs/configuration/versions)。您可以独立使用站点级版本控制和 `<Versions>` 组件，也可以同时使用。
</Note>

## 用法

<div>
  <div>
    <Versions>
      <Version version="v2.0" title="版本 2.0" default>
        这是版本 2.0 的内容（默认版本）。选择时，URL 将显示 `?v=v2.0`。
      </Version>

      <Version version="v1.0" title="版本 1.0">
        这是版本 1.0 的内容。选择时，URL 将显示 `?v=v1.0`。
      </Version>
    </Versions>
  </div>
</div>

```jsx Markdown
<Versions>
  <Version version="v2.0" title="版本 2.0" default>
    这是版本 2.0 的内容（默认版本）。选择时，URL 将显示 `?v=v2.0`。
  </Version>
  <Version version="v1.0" title="版本 1.0">
    这是版本 1.0 的内容。选择时，URL 将显示 `?v=v1.0`。
  </Version>
</Versions>
```

## 变体

### 嵌套组件

您可以在每个版本中包含任何内容，包括代码块、标注和其他组件。

<div>
  <div>
    <Versions>
      <Version version="v2" title="v2.0" default>
        ```bash
        npm install @fern/plant-sdk@2.0.0
        ```

        <Note>
          版本 2.0 包含破坏性变更。请查看迁移指南。
        </Note>
      </Version>

      <Version version="v1" title="v1.0">
        ```bash
        npm install @fern/plant-sdk@1.0.0
        ```
      </Version>
    </Versions>
  </div>
</div>

<CodeBlock title="Markdown">
  ````jsx
  <Versions>
    <Version version="v2" title="v2.0" default>
      ```bash
      npm install @fern/plant-sdk@2.0.0
      ```
      <Note>
        版本 2.0 包含破坏性变更。请查看迁移指南。
      </Note>
    </Version>
    <Version version="v1" title="v1.0">
      ```bash
      npm install @fern/plant-sdk@1.0.0
      ```
    </Version>
  </Versions>
  ````
</CodeBlock>

### 自定义查询参数

默认情况下，选择的版本使用 `v` 查询参数存储在 URL 中。您可以使用 `paramName` 属性自定义此参数，以避免在同一页面上使用多个 `<Versions>` 组件时发生冲突。

<div>
  <div>
    <Versions paramName="sdk-version">
      <Version version="current" title="当前版本" default>
        当前 SDK 版本的内容。选择时，URL 将显示 `?sdk-version=current`。
      </Version>

      <Version version="legacy" title="旧版本">
        旧版 SDK 版本的内容。选择时，URL 将显示 `?sdk-version=legacy`。
      </Version>
    </Versions>
  </div>
</div>

```jsx Markdown
<Versions paramName="sdk-version">
  <Version version="current" title="当前版本" default>
    当前 SDK 版本的内容。选择时，URL 将显示 `?sdk-version=current`。
  </Version>
  <Version version="legacy" title="旧版本">
    旧版 SDK 版本的内容。选择时，URL 将显示 `?sdk-version=legacy`。
  </Version>
</Versions>
```

## 属性

### `<Versions>` 属性

<ParamField path="paramName" type="string" default="v">
  用于在 URL 中存储选定版本的查询参数名称。
</ParamField>

<ParamField path="className" type="string" required={false}>
  应用到版本容器的附加 CSS 类。
</ParamField>

### `<Version>` 属性

<ParamField path="version" type="string" required={true}>
  版本标识符。在 `<Versions>` 组件内必须唯一。此值用于 URL 查询参数。
</ParamField>

<ParamField path="title" type="string" required={false}>
  显示在下拉菜单中的标题。如果未指定，则使用 `version` 值。
</ParamField>

<ParamField path="default" type="boolean" default={false}>
  当 URL 中未指定版本时，此版本是否应默认被选中。
</ParamField>

<ParamField path="children" type="string | JSX" required={true}>
  选择此版本时显示的内容。可以包含文本、Markdown 和组件。
</ParamField>

<ParamField path="className" type="string" required={false}>
  应用到版本内容的附加 CSS 类。
</ParamField>