fix: 修复相似度检索工具事件冒泡问题和Rust编译错误
- 修复SimilaritySearchCard中外部链接按钮点击时触发卡片选择的事件冒泡问题 - 增强外部链接按钮事件处理,添加preventDefault和stopPropagation - 改进卡片点击事件处理,检查点击目标避免按钮触发卡片选择 - 修复outfit_search_commands.rs中的lifetime错误,重构描述字段解析逻辑 - 移除相关性阈值过滤逻辑,返回所有搜索结果 - 优化相似度检索工具UI布局和详情模态框功能 - 添加详细的搜索结果展示和外部链接处理功能
This commit is contained in:
@@ -15,6 +15,7 @@ import SimilaritySearchService from '../../services/similaritySearchService';
|
||||
export const SimilaritySearchCard: React.FC<SimilaritySearchCardProps> = ({
|
||||
result,
|
||||
onSelect,
|
||||
onExternalLinkClick,
|
||||
showScore = true,
|
||||
compact = false,
|
||||
}) => {
|
||||
@@ -22,7 +23,13 @@ export const SimilaritySearchCard: React.FC<SimilaritySearchCardProps> = ({
|
||||
const [imageError, setImageError] = useState(false);
|
||||
|
||||
// 处理卡片点击
|
||||
const handleCardClick = useCallback(() => {
|
||||
const handleCardClick = useCallback((e: React.MouseEvent) => {
|
||||
// 如果点击的是按钮或其子元素,不触发卡片选择
|
||||
const target = e.target as HTMLElement;
|
||||
if (target.closest('button')) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (onSelect) {
|
||||
onSelect(result);
|
||||
}
|
||||
@@ -30,11 +37,16 @@ export const SimilaritySearchCard: React.FC<SimilaritySearchCardProps> = ({
|
||||
|
||||
// 处理外部链接点击
|
||||
const handleExternalClick = useCallback((e: React.MouseEvent) => {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
if (result.image_url) {
|
||||
window.open(result.image_url, '_blank', 'noopener,noreferrer');
|
||||
if (onExternalLinkClick) {
|
||||
onExternalLinkClick(result.image_url);
|
||||
} else {
|
||||
window.open(result.image_url, '_blank', 'noopener,noreferrer');
|
||||
}
|
||||
}
|
||||
}, [result.image_url]);
|
||||
}, [result.image_url, onExternalLinkClick]);
|
||||
|
||||
// 处理图片加载
|
||||
const handleImageLoad = useCallback(() => {
|
||||
|
||||
Reference in New Issue
Block a user