ModelSelect
模型选择
API
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| condition | 筛选条件 | string | - |
| extraFields | 配置需要额外获取的字段,“field1,field2”, 如果要获取关联模型字段: “field3.field1” | string | - |
| optionFormat | 下拉选项可自定义,可用的字段默认包含 mainField,其它字段通过 extraFields 传入 | (option) => string | - |
| createAction | 配置 ModelSelect 控件的 新增 操作对应的 ViewAction, 值为 true 时使用对应模型的默认 Form 视图 | string|true | - |
| createActionWithContext | 新增时是否带上表单上下文 | boolean | - |
| modalTitle | 自定义控件的模态框标题 | string | - |
| dataSourceAction | 通过 action 获取选项数据, 与 condition 是互斥关系,只能配置一个 | string | - |
| dataSourceContext | dataSourceAction 或 condition 上下文 | object | - |
| showPanel | 是否显示浮窗 默认为 true | boolean | - |
| placeholder | 提示输入 | string | 请输入关键字查询 |
| searchCache | 是否缓存上次搜索的结果,如果搜索的上下文没发生变化时,不去重新请求接口 | boolean | true |
condition 条件筛选格式见: Condition 语法
用法
<View title="ModelSelect">
<Record key="person" model="trantor_doc_Person" />
<Form model="trantor_doc_Department"> <Fields> <!-- 获取额外参数,并在option中展示 --> <Field name="staff" label="获取额外参数,格式化option"> <RenderType> <ModelSelect extraFields="age" @optionFormat="option => option.name + ', age:' + option.age" /> </RenderType> </Field>
<!-- 自定义选项的展示文本 --> <Field name="staff" label="condition筛选"> <RenderType> <ModelSelect condition="name=='李刚'"/> </RenderType> </Field>
<!-- 模态窗标题、配置 ModelSelect控件的 新增 操作对应的 ViewAction --> <Field name="staff" label="标题+可新增"> <RenderType> <ModelSelect modalTitle="自定义模态窗标题" :createAction="true"/> </RenderType> </Field>
<Field name="staff" label="condition"> <RenderType> <ModelSelect @dataSourceAction="GetPartnerData" :dataSourceContext="{a:1}"/> </RenderType> </Field>
<Field name="staff" label="修改展示文案"> <RenderType> <ModelSelect :dataSourceAction="" :dataSourceContext="{a:1,b:2}"/> </RenderType> </Field>
<Field name="staff" label="修改展示文案"> <RenderType> <ModelSelect :showPanel="false"/> </RenderType> </Field> </Fields> </Form></View>