优化pagetype列表页过滤栏搜索逻辑
This commit is contained in:
parent
589640baa7
commit
3937bd1824
@ -574,8 +574,20 @@ async function loadData() {
|
|||||||
// 多选字段使用 in 操作符
|
// 多选字段使用 in 操作符
|
||||||
filterConditions.push([fieldName, 'in', value])
|
filterConditions.push([fieldName, 'in', value])
|
||||||
} else {
|
} else {
|
||||||
// 单选字段使用 = 操作符
|
// 根据字段类型选择操作符
|
||||||
filterConditions.push([fieldName, '=', value])
|
const fieldMeta = metaFields.value.find(f => f.fieldname === fieldName)
|
||||||
|
const fieldType = fieldMeta?.fieldtype || ''
|
||||||
|
|
||||||
|
// 文本类型字段使用 like 操作符进行模糊搜索
|
||||||
|
const isTextLikeField = ['Data', 'Text', 'Long Text', 'Comment', 'Link'].includes(fieldType)
|
||||||
|
|
||||||
|
if (isTextLikeField && typeof value === 'string') {
|
||||||
|
// 使用 like 操作符,值前后添加 % 通配符
|
||||||
|
filterConditions.push([fieldName, 'like', `%${value}%`])
|
||||||
|
} else {
|
||||||
|
// 其他类型字段使用精确匹配
|
||||||
|
filterConditions.push([fieldName, '=', value])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user