Parcourir la source

:bug: 数据库添加筛选条件选择汇总报错

Vanessa il y a 1 an
Parent
commit
fac4df02b4
1 fichiers modifiés avec 8 ajouts et 11 suppressions
  1. 8 11
      app/src/protyle/render/av/filter.ts

+ 8 - 11
app/src/protyle/render/av/filter.ts

@@ -502,34 +502,31 @@ export const addFilter = (options: {
 }) => {
     const menu = new Menu("av-add-filter");
     options.data.view.columns.forEach((column) => {
-        let hasFilter = false;
-        options.data.view.filters.find((filter) => {
+        let filter: IAVFilter;
+        options.data.view.filters.find((item) => {
             if (filter.column === column.id) {
-                hasFilter = true;
+                filter = item;
                 return true;
             }
         });
-        if (!hasFilter && column.type !== "mAsset") {
+        if (!filter && column.type !== "mAsset") {
             menu.addItem({
                 label: column.name,
                 iconHTML: column.icon ? unicode2Emoji(column.icon, "b3-menu__icon", true) : `<svg class="b3-menu__icon"><use xlink:href="#${getColIconByType(column.type)}"></use></svg>`,
                 click: () => {
                     const cellValue = genCellValue(column.type, "");
-                    options.data.view.filters.push({
+                    filter = {
                         column: column.id,
                         operator: getDefaultOperatorByType(column.type),
                         value: cellValue,
                         type: column.type
-                    });
+                    }
+                    options.data.view.filters.push(filter);
                     options.menuElement.innerHTML = getFiltersHTML(options.data.view);
                     setPosition(options.menuElement, options.tabRect.right - options.menuElement.clientWidth, options.tabRect.bottom, options.tabRect.height);
                     const filterElement = options.menuElement.querySelector(`[data-id="${column.id}"] .b3-chip`) as HTMLElement;
                     setFilter({
-                        filter: {
-                            operator: getDefaultOperatorByType(column.type),
-                            column: column.id,
-                            value: cellValue
-                        },
+                        filter,
                         protyle: options.protyle,
                         data: options.data,
                         target: filterElement,