---
title: "可选元素与分组"
description: "让元素支持选中，将其组织成分组，并在流程中通过条件使用其状态。"
---

可选元素是用户可以点击选中或取消选中的流程元素。其状态可用于驱动整个流程中的导航、可见性及其他逻辑。你可以实现以下功能：
- [使用默认可选元素](#default-selectable-elements) — 问卷选项、产品、标签页和试用开关均支持开箱即用的选择功能
- [将任意元素设为可选](#make-an-element-selectable) — 将任意元素转变为可选元素并分配到某个分组
- [创建与管理分组](#create-a-group) — 将可选元素整理为单选、多选或开关分组
- [在条件中使用已选状态](#use-selectable-state-in-conditions) — 在流程中任意屏幕的条件里引用分组的值
## 默认可选元素 \{#default-selectable-elements\}

某些元素类型默认即为可选状态——它们已属于自动创建的分组，无需额外配置：

- **测验选项**：每个测验答案都是测验分组中的可选元素。请参阅[测验](onboarding-quizzes)。
- **产品**：产品分组中的产品卡片。请参阅[产品模块](paywall-product-block)。
- **标签页**：标签页分组中的标签项。请参阅[标签页](builder-tabs)。
- **试用切换**：属于某个分组并具有选中状态的容器。请参阅[切换](builder-toggles)。
## 使元素可选 \{#make-an-element-selectable\}

在某些情况下，你可能希望让更多元素变为可选状态。例如，可以添加一个**不再询问**复选框，使其作为测验组内的一个可选元素。

要使元素可选：

1. 在屏幕上或 **Layers** 面板中选中该元素。
2. 在右侧切换到 **Interactions** 面板。
3. 选择 **Turn into selectable element**。

4. 在 **Group** 下拉菜单中，选择一个现有分组或[新建分组](#create-a-group)。
5. 设置 **Element ID** ——该元素在分组内的唯一标识符。
6. 如果希望该元素默认处于选中状态，请勾选 **Set as default in group** 复选框。

## 创建分组 \{#create-a-group\}

分组用于组织屏幕上的可选元素，并定义选择方式——用户可以选择单个选项、多个选项，或进行切换。

创建分组的步骤：

1. 选择一个元素并[将其设为可选](#make-an-element-selectable)。
2. 在 **Group** 下拉菜单中，选择 **Create group**。

3. 输入 **Group name**。
4. 选择[分组类型](#group-types)。

该分组现已在 **Group** 下拉菜单中可用，可供同一屏幕上的其他可选元素使用。

## 分组类型 \{#group-types\}

:::important
大多数[测验预设](onboarding-quizzes)默认为**多选**模式。如需限制为单选，请更改[分组类型](#manage-groups)。
:::

- **单选**：同一时间只能选中分组内的一个元素。选中新元素后，上一个选中项会自动取消。
- **多选**：可以同时选中多个元素。
- **切换**：每次点击，元素在选中与取消之间切换，各元素互不影响。
## 管理分组 \{#manage-groups\}

要查看和编辑分组，请打开 **Screen settings** 面板，找到 **Selectable groups** 部分，其中列出了当前屏幕上的所有分组。

点击某个分组 ID 可以：

- 修改分组 ID
- 修改[分组类型](#group-types)
- 查看该分组元素在条件中的引用情况

## 在条件中使用可选状态 \{#use-selectable-state-in-conditions\}

你可以在流程中任意屏幕的条件里引用一个组的选中状态——不仅限于定义该组的屏幕。例如：`IF quiz.photo is selected, THEN navigate to the Photo screen`。

:::important
一个组内的所有元素必须位于同一屏幕。不能将来自不同屏幕的元素添加到同一个组。但是，你可以在流程中任意屏幕的条件里引用组的值。
:::

可选状态适用于以下场景：
- **[条件操作](onboarding-actions#conditional-actions)**：根据用户选择的元素，将其引导至不同的屏幕或触发不同的动作。
- **[动态导航](onboarding-navigation-branching)**：根据问卷答案、切换状态或其他选择对流程进行分支。
- **[条件可见性](onboarding-element-visibility)**：根据用户在之前屏幕上的选择，显示或隐藏相应元素。