From f7b139abdf1be95186c2443b18d4286c810d57cc Mon Sep 17 00:00:00 2001 From: icssoa <2570063477@qq.com> Date: Mon, 3 Apr 2023 19:56:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20cl-column-custom=20?= =?UTF-8?q?=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/components/column-custom/index.vue | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/modules/base/components/column-custom/index.vue b/src/modules/base/components/column-custom/index.vue index 650986f..325782e 100644 --- a/src/modules/base/components/column-custom/index.vue +++ b/src/modules/base/components/column-custom/index.vue @@ -29,7 +29,7 @@ import { defineComponent, ref, PropType, nextTick, watch } from "vue"; import store from "store"; import Draggable from "vuedraggable/src/vuedraggable"; -import { orderBy } from "lodash"; +import { isBoolean, orderBy } from "lodash-es"; export default defineComponent({ name: "cl-column-custom", @@ -96,15 +96,23 @@ export default defineComponent({ val .filter((e) => !e.type && e.prop) .map((e) => { + let checked = true; + let orderNum = e.orderNum || 0; + + if (isBoolean(e.hidden)) { + checked = !e.hidden; + } + + if (selection) { + checked = selection.find((a) => a.prop == e.prop)?.checked; + orderNum = selection.findIndex((a) => a.prop == e.prop); + } + return { label: e.label, prop: e.prop, - checked: selection - ? selection.find((a) => a.prop == e.prop)?.checked - : true, - orderNum: selection - ? selection.findIndex((a) => a.prop == e.prop) - : e.orderNum || 0 + checked, + orderNum }; }), "orderNum",