Skip to content

Commit d1c6906

Browse files
authored
fix(tabs): resolve tabpane show errors #1544 (#1636)
1 parent d0d06d7 commit d1c6906

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

src/packages/__VUE/tabs/common.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { pxCheck } from '@/packages/utils/pxCheck';
2+
import { TypeOfFun } from '@/packages/utils/util';
23
import { onMounted, provide, VNode, ref, Ref, computed, onActivated, watch } from 'vue';
34
export class Title {
45
title: string = '';
@@ -71,8 +72,14 @@ export const component = {
7172
if (type == 'nut-tabpane') {
7273
let title = new Title();
7374
if (vnode.props?.title || vnode.props?.['pane-key'] || vnode.props?.['paneKey']) {
75+
let paneKeyType = TypeOfFun(vnode.props?.['pane-key']);
76+
let paneIndex =
77+
paneKeyType == 'number' || paneKeyType == 'string' ? String(vnode.props?.['pane-key']) : null;
78+
let camelPaneKeyType = TypeOfFun(vnode.props?.['paneKey']);
79+
let camelPaneIndex =
80+
camelPaneKeyType == 'number' || camelPaneKeyType == 'string' ? String(vnode.props?.['paneKey']) : null;
7481
title.title = vnode.props?.title;
75-
title.paneKey = vnode.props?.['pane-key'] || vnode.props?.['paneKey'] || index;
82+
title.paneKey = paneIndex || camelPaneIndex || String(index);
7683
title.disabled = vnode.props?.disabled;
7784
} else {
7885
// title.titleSlot = vnode.children?.title() as VNode[];

src/packages/__VUE/tabs/demo.vue

+4-3
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,17 @@
4747
<nut-tabpane v-for="item in state.list5" :title="'Tab ' + item"> Tab {{ item }} </nut-tabpane>
4848
</nut-tabs>
4949
<h2>{{ translate('title7') }}</h2>
50-
<nut-tabs v-model="state.tab1value" size="large">
50+
<nut-tabs v-model="state.tab8value" size="large">
5151
<nut-tabpane title="Tab 1"> Tab 1 </nut-tabpane>
5252
<nut-tabpane title="Tab 2"> Tab 2 </nut-tabpane>
5353
<nut-tabpane title="Tab 3"> Tab 3 </nut-tabpane>
5454
</nut-tabs>
55-
<nut-tabs v-model="state.tab1value" size="normal">
55+
<nut-tabs v-model="state.tab8value" size="normal">
5656
<nut-tabpane title="Tab 1"> Tab 1 </nut-tabpane>
5757
<nut-tabpane title="Tab 2"> Tab 2 </nut-tabpane>
5858
<nut-tabpane title="Tab 3"> Tab 3 </nut-tabpane>
5959
</nut-tabs>
60-
<nut-tabs v-model="state.tab1value" size="small">
60+
<nut-tabs v-model="state.tab8value" size="small">
6161
<nut-tabpane title="Tab 1"> Tab 1 </nut-tabpane>
6262
<nut-tabpane title="Tab 2"> Tab 2 </nut-tabpane>
6363
<nut-tabpane title="Tab 3"> Tab 3 </nut-tabpane>
@@ -132,6 +132,7 @@ export default createDemo({
132132
tab5value: '0',
133133
tab6value: '0',
134134
tab7value: 'c1',
135+
tab8value: '0',
135136
list3: Array.from(new Array(2).keys()),
136137
list4: Array.from(new Array(10).keys()),
137138
list5: Array.from(new Array(2).keys()),

src/sites/assets/util/useTranslate.ts

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ export const useTranslate = (object: Record<string, any>) => {
44
for (const [key, value] of Object.entries(object)) {
55
Locale.merge(key, value);
66
}
7-
console.log('merge res > ', Locale.languages());
87
};
98

109
export const translateChange = () => {

0 commit comments

Comments
 (0)