Skip to content

Commit

Permalink
perf: 优化排序
Browse files Browse the repository at this point in the history
  • Loading branch information
greper committed Oct 18, 2021
1 parent 9a35214 commit 2577698
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 11 deletions.
16 changes: 9 additions & 7 deletions packages/fast-crud/src/components/search/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ import { uiContext } from "../../ui";
import { useI18n } from "../../locale";
import logger from "../../utils/util.log";
import { Constants } from "../../utils/util.constants";
/**
* 查询框组件
*/
Expand Down Expand Up @@ -172,19 +173,20 @@ export default {
});
const computedColumns = doComputed(props.columns, getContextFn, null, (value) => {
if (!props.validate) {
//去掉rules
//如果关闭validate则去掉rules
_.forEach(value, (item) => {
delete item.rules;
});
}
//字段排序
let sortArr = [];
for (let key in value) {
value[key]._key = key;
sortArr.push(value[key]);
}
_.forEach(value, (v, key) => {
v._key = key;
sortArr.push(v);
});
sortArr = _.sortBy(sortArr, (item) => {
return [null, undefined].includes(item.order) ? 100 : item.order;
return item.order ?? Constants.orderDefault;
});
const sortedColumns = {};
Expand All @@ -195,9 +197,9 @@ export default {
sortedColumns[_key] = item;
});
return sortedColumns;
});
//默认值
_.forEach(computedColumns.value, (column, key) => {
if (column.value === undefined) {
return;
Expand Down
4 changes: 2 additions & 2 deletions packages/fast-crud/src/components/toolbar/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import { ref, computed, getCurrentInstance } from "vue";
import traceUtil from "../../utils/util.trace";
import { useI18n } from "../../locale";
import FsSlotRender from "../render/fs-slot-render";
import { Constants } from "../../utils/util.constants";
/**
* 工具条
Expand Down Expand Up @@ -141,7 +142,6 @@ export default {
defaultButtons.compact.type = props.compact ? "primary" : "default";
}
let sortArr = [];
for (let defaultButtonsKey in defaultButtons) {
sortArr.push({
Expand All @@ -150,7 +150,7 @@ export default {
});
}
sortArr = _.sortBy(sortArr, (item) => {
return [null, undefined].includes(item.order) ? 100 : item.order;
return item.order ?? Constants.orderDefault;
});
const sortedButtons = {};
Expand Down
3 changes: 2 additions & 1 deletion packages/fast-crud/src/use/use-crud.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { useI18n } from "../locale";
import { useMerge } from "./use-merge";
import { CrudExpose } from "../d.ts";
import { useCompute } from "./use-compute";
import { Constants } from "../utils/util.constants";
export interface CrudOptions {
table?: {};
columns?: {};
Expand Down Expand Up @@ -375,7 +376,7 @@ export function useCrud(ctx: UseCrudProps) {
function sortBy(arr) {
return _.sortBy(arr, (item) => {
sortChildren(item);
return item.order ?? 1;
return item.order ?? Constants.orderDefault;
});
}
function sortChildren(column) {
Expand Down
1 change: 1 addition & 0 deletions packages/fast-crud/src/utils/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import trace from "./util.trace";
import vite from "./util.vite";
import store from "./util.store";
export * from "./util.log";

export default {
logger,
strings,
Expand Down
3 changes: 3 additions & 0 deletions packages/fast-crud/src/utils/util.constants.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const Constants = {
orderDefault: 100
};

0 comments on commit 2577698

Please sign in to comment.