diff --git a/app/src/protyle/render/av/filter.ts b/app/src/protyle/render/av/filter.ts index 0d81e4260..0d7b7e3da 100644 --- a/app/src/protyle/render/av/filter.ts +++ b/app/src/protyle/render/av/filter.ts @@ -131,7 +131,7 @@ export const setFilter = async (options: { let isSame = false; options.data.view.filters.find((filter, index) => { - if (filter.column === options.filter.column) { + if (filter.column === options.filter.column && filter.value.type === options.filter.value.type) { if (filter.type && filter.type === "checkbox") { hasMatch = true; delete filter.type; @@ -205,7 +205,7 @@ export const setFilter = async (options: { } }); options.data.view.filters.find(item => { - if (item.column === colData.id && item.type) { + if (item.column === colData.id && item.type === "rollup") { item.operator = getDefaultOperatorByType(filterType); item.value = genCellValue(filterType, ""); delete item.type; @@ -594,7 +594,7 @@ export const getFiltersHTML = (data: IAVTable) => { } else if (filter.operator === "!=") { filterValue = ` ${window.siyuan.languages.filterOperatorIsNot} ${selectContent}`; } - } else if (item.type === "number" && filter.value.number) { + } else if (item.type === "number" && filter.value.number && filter.value.number.isNotEmpty) { if (["=", "!=", ">", "<"].includes(filter.operator)) { filterValue = ` ${filter.operator} ${filter.value.number.content}`; } else if (">=" === filter.operator) { @@ -617,7 +617,7 @@ export const getFiltersHTML = (data: IAVTable) => { filterValue = ` ${window.siyuan.languages.filterOperatorEndsWith} ${content}`; } } - filterHTML += ` + filterHTML += ` ${item.icon ? unicode2Emoji(item.icon, "icon", true) : ``} ${item.name}${filterValue} `; @@ -630,7 +630,7 @@ export const getFiltersHTML = (data: IAVTable) => { data.filters.forEach((item: IAVFilter) => { const filterHTML = genFilterItem(item); if (filterHTML) { - html += `