跳转到内容

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-
dataSourceContextdataSourceAction 或 condition 上下文object-
showPanel是否显示浮窗 默认为 trueboolean-
placeholder提示输入string请输入关键字查询
searchCache是否缓存上次搜索的结果,如果搜索的上下文没发生变化时,不去重新请求接口booleantrue

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>