Compare commits

...

4 Commits

Author SHA1 Message Date
d2f64f98a1 fix: 初始化时清空搜索框和筛选状态
- 页面加载时强制清空 searchInput
- 重置 typeFilter 和 currentFilter
- 删除重复的 pageSize 定义
2026-04-16 13:47:46 +08:00
161b93f368 docs: 更新版本历史 v2.3.2 2026-04-16 13:41:06 +08:00
31f2d8b428 fix: 搜索功能修复 - debounce函数定义顺序
- debounce函数在使用前必须先定义
- 之前定义在代码末尾,导致搜索事件绑定失败
- 现移到代码开头,确保正确执行
2026-04-16 13:40:44 +08:00
5d6dd10dfa docs: 更新版本历史 v2.3.1 2026-04-16 12:20:51 +08:00
2 changed files with 20 additions and 11 deletions

View File

@@ -141,6 +141,12 @@ xian-favor/
## 版本历史
- **v2.3.2** (2026-04-16): 搜索功能修复
- 修复 debounce 函数定义顺序问题
- 搜索框输入后可正常过滤列表
- **v2.3.1** (2026-04-16): 日期放到标题后面,不增加卡片高度
- 日期紧跟标题,同一行显示
- 格式紧凑:`04-16 11:09→04-16 12:00`
- **v2.3.0** (2026-04-16): 卡片显示创建和更新日期
- 每个收藏卡片底部显示日期
- 格式04-16 11:09月-日 时:分)

View File

@@ -1090,9 +1090,23 @@ INDEX_TEMPLATE = '''
<script>
const API_BASE = '/api';
let currentFilter = { type: '', status: '' };
let currentPage = 1;
const pageSize = 20;
function debounce(fn, delay) {
let timer;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => fn.apply(this, args), delay);
};
}
// 初始化
document.addEventListener('DOMContentLoaded', async () => {
// 确保初始状态清空
document.getElementById('searchInput').value = '';
document.getElementById('typeFilter').value = '';
currentFilter = { type: '', status: '' };
await loadStats(); // 先加载统计,确保总数可用
loadItems();
loadTags();
@@ -1143,9 +1157,6 @@ document.addEventListener('DOMContentLoaded', async () => {
});
// 加载列表
let currentPage = 1;
const pageSize = 20;
async function loadItems(page = 1) {
currentPage = page;
const keyword = document.getElementById('searchInput').value;
@@ -2196,14 +2207,6 @@ async function sendItemEmail() {
}
}
function debounce(fn, delay) {
let timer;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => fn.apply(this, args), delay);
};
}
// ============ 提醒功能 ============
let reminderData = null;