Skip to content

Commit 52103ab

Browse files
committed
feat: RePureTableBar组件搭配pure-admin-table支持表头国际化切换
1 parent bc1da0b commit 52103ab

File tree

1 file changed

+15
-8
lines changed
  • src/components/RePureTableBar/src

1 file changed

+15
-8
lines changed

src/components/RePureTableBar/src/bar.tsx

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import Sortable from "sortablejs";
2+
import { transformI18n } from "@/plugins/i18n";
13
import { useEpThemeStoreHook } from "@/store/modules/epTheme";
24
import { defineComponent, ref, computed, type PropType, nextTick } from "vue";
35
import {
@@ -8,7 +10,6 @@ import {
810
getKeyList
911
} from "@pureadmin/utils";
1012

11-
import Sortable from "sortablejs";
1213
import DragIcon from "./svg/drag.svg?component";
1314
import ExpandIcon from "./svg/expand.svg?component";
1415
import RefreshIcon from "./svg/refresh.svg?component";
@@ -118,14 +119,17 @@ export default defineComponent({
118119
}
119120

120121
function handleCheckedColumnsChange(value: string[]) {
122+
checkedColumns.value = value;
121123
const checkedCount = value.length;
122124
checkAll.value = checkedCount === checkColumnList.length;
123125
isIndeterminate.value =
124126
checkedCount > 0 && checkedCount < checkColumnList.length;
125127
}
126128

127129
function handleCheckColumnListChange(val: boolean, label: string) {
128-
dynamicColumns.value.filter(item => item.label === label)[0].hide = !val;
130+
dynamicColumns.value.filter(
131+
item => transformI18n(item.label) === transformI18n(label)
132+
)[0].hide = !val;
129133
}
130134

131135
async function onReset() {
@@ -198,7 +202,9 @@ export default defineComponent({
198202
};
199203

200204
const isFixedColumn = (label: string) => {
201-
return dynamicColumns.value.filter(item => item.label === label)[0].fixed
205+
return dynamicColumns.value.filter(
206+
item => transformI18n(item.label) === transformI18n(label)
207+
)[0].fixed
202208
? true
203209
: false;
204210
};
@@ -293,15 +299,15 @@ export default defineComponent({
293299
<div class="pt-[6px] pl-[11px]">
294300
<el-scrollbar max-height="36vh">
295301
<el-checkbox-group
296-
v-model={checkedColumns.value}
302+
modelValue={checkedColumns.value}
297303
onChange={value => handleCheckedColumnsChange(value)}
298304
>
299305
<el-space
300306
direction="vertical"
301307
alignment="flex-start"
302308
size={0}
303309
>
304-
{checkColumnList.map(item => {
310+
{checkColumnList.map((item, index) => {
305311
return (
306312
<div class="flex items-center">
307313
<DragIcon
@@ -316,17 +322,18 @@ export default defineComponent({
316322
}) => rowDrop(event)}
317323
/>
318324
<el-checkbox
319-
key={item}
325+
key={index}
326+
label={item}
320327
value={item}
321328
onChange={value =>
322329
handleCheckColumnListChange(value, item)
323330
}
324331
>
325332
<span
326-
title={item}
333+
title={transformI18n(item)}
327334
class="inline-block w-[120px] truncate hover:text-text_color_primary"
328335
>
329-
{item}
336+
{transformI18n(item)}
330337
</span>
331338
</el-checkbox>
332339
</div>

0 commit comments

Comments
 (0)