12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <template>
- <ScrollContainer>
- <div ref="wrapperRef" :class="prefixCls">
- <Tabs tab-position="left" :tabBarStyle="tabBarStyle">
- <template v-for="item in settingList" :key="item.key">
- <TabPane :tab="item.name">
- <component :is="item.component" />
- </TabPane>
- </template>
- </Tabs>
- </div>
- </ScrollContainer>
- </template>
- <script lang="ts">
- import { defineComponent } from 'vue';
- import { Tabs } from 'ant-design-vue';
- import { ScrollContainer } from '/@/components/Container/index';
- import { settingList } from './data';
- import BaseSetting from './BaseSetting.vue';
- import SecureSetting from './SecureSetting.vue';
- import AccountBind from './AccountBind.vue';
- import MsgNotify from './MsgNotify.vue';
- export default defineComponent({
- components: {
- ScrollContainer,
- Tabs,
- TabPane: Tabs.TabPane,
- BaseSetting,
- SecureSetting,
- AccountBind,
- MsgNotify,
- },
- setup() {
- return {
- prefixCls: 'account-setting',
- settingList,
- tabBarStyle: {
- width: '220px',
- },
- };
- },
- });
- </script>
- <style lang="less">
- .account-setting {
- margin: 12px;
- background-color: @component-background;
- .base-title {
- padding-left: 0;
- }
- .ant-tabs-tab-active {
- background-color: @item-active-bg;
- }
- }
- </style>
|