fix: 修正搜索页部分错误
All checks were successful
deploy to server / build-and-deploy (push) Successful in 2m59s
All checks were successful
deploy to server / build-and-deploy (push) Successful in 2m59s
- 对于搜索页中的‘相关问题’与‘文档资料’,修正条目标签显示 - 调整页面刷新逻辑: 将用户刷新有PerformSearch改为useAsyncData的Refresh机制
This commit is contained in:
@ -86,7 +86,8 @@
|
||||
const indexLabels = computed<Record<string, string>>(() => ({
|
||||
product: t('search.sections.product'),
|
||||
solution: t('search.sections.solution'),
|
||||
support: t('search.sections.support'),
|
||||
question: t('search.sections.faq'),
|
||||
document: t('search.sections.document'),
|
||||
default: t('search.sections.default'),
|
||||
}));
|
||||
|
||||
|
||||
@ -103,12 +103,12 @@
|
||||
// 搜索相关
|
||||
const { search } = useMeilisearch();
|
||||
const keyword = ref('');
|
||||
const activeRequestId = ref(0);
|
||||
|
||||
const {
|
||||
data: sections,
|
||||
pending: loading,
|
||||
error,
|
||||
refresh,
|
||||
} = await useAsyncData(
|
||||
() => `search-${directusLocale}-${route.query.query ?? ''}`,
|
||||
async () => {
|
||||
@ -172,33 +172,6 @@
|
||||
});
|
||||
};
|
||||
|
||||
const performSearch = async (value: string) => {
|
||||
activeRequestId.value += 1;
|
||||
const requestId = activeRequestId.value;
|
||||
const trimmed = value.trim();
|
||||
if (!trimmed) {
|
||||
if (requestId === activeRequestId.value) {
|
||||
sections.value = [];
|
||||
loading.value = false;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const results = await search(trimmed, { limit: 12 }, directusLocale);
|
||||
if (requestId === activeRequestId.value) {
|
||||
sections.value = results;
|
||||
}
|
||||
console.log('hits:', hits.value);
|
||||
console.log(resultCount.value);
|
||||
} catch (error) {
|
||||
console.error('Failed to perform search', error);
|
||||
if (requestId === activeRequestId.value) {
|
||||
sections.value = [];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const handleClear = () => {
|
||||
keyword.value = '';
|
||||
sections.value = [];
|
||||
@ -214,9 +187,7 @@
|
||||
async (newQuery) => {
|
||||
if (typeof newQuery === 'string' && newQuery.trim()) {
|
||||
keyword.value = newQuery;
|
||||
await performSearch(newQuery);
|
||||
} else {
|
||||
loading.value = false;
|
||||
await refresh();
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@ -14,7 +14,8 @@
|
||||
"sections": {
|
||||
"product": "Products",
|
||||
"solution": "Solutions",
|
||||
"support": "Support",
|
||||
"faq": "Faqs",
|
||||
"document": "Documents",
|
||||
"default": "Other"
|
||||
}
|
||||
},
|
||||
|
||||
@ -14,7 +14,8 @@
|
||||
"sections": {
|
||||
"product": "产品",
|
||||
"solution": "解决方案",
|
||||
"support": "服务支持",
|
||||
"faq": "相关问题",
|
||||
"document": "文档资料",
|
||||
"default": "其他内容"
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user