接口选择器新增事件配置功能

This commit is contained in:
宿命的风 2025-04-09 17:39:14 +08:00
parent 5fe16b422c
commit aa197a6fd6
4 changed files with 24 additions and 3 deletions

View File

@ -69,11 +69,24 @@ export const useApiSelect = (option: ApiSelectProps) => {
if (isEmpty(props.url)) { if (isEmpty(props.url)) {
return return
} }
switch (props.method) { switch (props.method) {
case 'GET': case 'GET':
let url: string = props.url let url: string = props.url
if (props.remote) { if (props.remote) {
url = `${url}?${props.remoteField}=${queryParam.value}` if(queryParam.value!=undefined)
{
if(checkUrl(url))
{
url = `${url}&${props.remoteField}=${queryParam.value}`
}else
{
url = `${url}?${props.remoteField}=${queryParam.value}`
}
}else
{
url = `${url}`
}
} }
parseOptions(await request.get({ url: url })) parseOptions(await request.get({ url: url }))
break break
@ -87,6 +100,11 @@ export const useApiSelect = (option: ApiSelectProps) => {
} }
} }
function checkUrl(url)
{
return url.includes('?')
}
function parseOptions(data: any) { function parseOptions(data: any) {
// 情况一:如果有自定义解析函数优先使用自定义解析 // 情况一:如果有自定义解析函数优先使用自定义解析
if (!isEmpty(props.parseFunc)) { if (!isEmpty(props.parseFunc)) {

View File

@ -17,6 +17,7 @@ export const useSelectRule = (option: SelectRuleOption) => {
icon: option.icon, icon: option.icon,
label, label,
name, name,
event: option.event,
rule() { rule() {
return { return {
type: name, type: name,

View File

@ -46,5 +46,6 @@ export interface SelectRuleOption {
label: string // label 名称 label: string // label 名称
name: string // 组件名称 name: string // 组件名称
icon: string // 组件图标 icon: string // 组件图标
props?: any[] // 组件规则 props?: any[], // 组件规则
event?: any[] // 事件
} }

View File

@ -63,7 +63,8 @@ export const useFormCreateDesigner = async (designer: Ref) => {
name: 'ApiSelect', name: 'ApiSelect',
label: '接口选择器', label: '接口选择器',
icon: 'icon-server', icon: 'icon-server',
props: [...apiSelectRule] props: [...apiSelectRule],
event:['click','change','visibleChange','clear','blur','focus']
}) })
/** /**