---
order: 18
navTitle: 资源选择
---
# 资源选择

spg提供了资源选择组件，以对话框方式选择系统内部资源，并将资源以路径或ID的方式存入数据模型中，如下：

![资源选择](./images/resselector.gif)
[示例地址](https://demo.succbi.com/v5/DEMO/app/ap.app?id=%E8%B5%84%E6%BA%90%E9%80%89%E6%8B%A9)

## 使用资源选择提交数据{#start}

资源选择组件的提交数据和其它输入组件提交数据操作方式一致，勾选提交数据属性并设置绑定字段属性，可以将资源路径或ID提交到数据库中，具体可参考[文本输入组件](./textinput.md#submit)。区别在于资源选择组件可以设置[返回值类型](#return-value)，以及[可供选择的资源类型](#optiontype)。

## 属性介绍{#properties}

### 返回值设置{#return-value}

在**高级**>**返回值**属性里，可以设置资源的返回值类型，系统提供了两种返回值类型：

- **路径**：文件存储的路径，可以右键点击文件，在**属性**里进行查看
- **ID**：文件的ID，在文件创建时会自动生成。同样可以在**属性**里进行查看

### 可选类型{#optiontype}

在**高级**属性里可以通过**可选类型**限制可供选择的资源类型，通过**根目录**限制开始寻找资源的根目录，具体如下：

- **可选类型**
  - **分析**：可选项为.rpt和.dash文件，即仪表板和报表文件
  - **模型**：可选项为.tbl文件，即模型表文件
  - **表单**：可选项为.fapp文件，即表单文件
  - **应用**：可选项为.app文件，即应用文件
- **根路径**：限制开始寻找资源的根目录，如：`/DEMO/ana/快速开始示例`，限制了只能从`/DEMO/ana/快速开始示例`下开始寻找资源

**可选类型**默认为全部类型，**根路径**不做限制时，默认展示系统里的所有目录。当限制了可选类型，但没有限制根路径时。如果某个目录下不存在对应类型的文件，则会显示一个空目录

## 业务场景{#business-scenarios}

资源选择组件可以配合其他输入组件使用，将`资源名称`、`资源类型`、`资源路径`等详细信息存储到数据库中。在列表里展示资源时，点击资源路径，查看资源详情，效果可参考上面的动图。具体实现思路如下：

1. 添加**文本输入**组件和**资源选择**组件，绑定提交字段，设置提交数据交互，将资源的详细信息提交到数据库中，可参考[文本输入组件](./textinput.md#submit)。
2. **资源选择**组件设置返回值类型为`路径`，限制可供选择的资源类型以及开始寻找资源的根目录
3. 添加一个**列表**展示所有的资源，在`资源路径`列上设置打开链接交互，链接到资源详情页面，并将`资源路径`作为参数传递到资源详情页面，可参考[列表的交互设置](../data/list.md#manifest)
4. 资源详情页面用一个[嵌入组件](../embed/README.md)，设置动态路径来展示资源详情，可参考[数据模型](../embed/embeddatamodel.md)
