|
1 | 1 | <template>
|
2 | 2 | <PageWrapper title="标签页操作示例">
|
3 | 3 | <CollapseContainer title="在下面输入框输入文本,切换后回来内容会保存">
|
4 |
| - <a-input placeholder="请输入" /> |
| 4 | + <a-alert banner message="该操作不会影响页面标题,仅修改Tab标题" /> |
| 5 | + <template class="mt-2 flex flex-grow-0"> |
| 6 | + <a-button class="mr-2" @click="setTabTitle" type="primary"> 设置Tab标题 </a-button> |
| 7 | + <a-input placeholder="请输入" v-model:value="title" class="mr-4 w-12" /> |
| 8 | + </template> |
5 | 9 | </CollapseContainer>
|
6 | 10 |
|
7 | 11 | <CollapseContainer class="mt-4" title="标签页操作">
|
|
15 | 19 | </PageWrapper>
|
16 | 20 | </template>
|
17 | 21 | <script lang="ts">
|
18 |
| - import { defineComponent } from 'vue'; |
| 22 | + import { defineComponent, ref } from 'vue'; |
19 | 23 | import { CollapseContainer } from '/@/components/Container/index';
|
20 | 24 | import { useTabs } from '/@/hooks/web/useTabs';
|
21 | 25 | import { PageWrapper } from '/@/components/Page';
|
22 |
| - import { Input } from 'ant-design-vue'; |
| 26 | + import { Input, Alert } from 'ant-design-vue'; |
| 27 | + import { useMessage } from '/@/hooks/web/useMessage'; |
23 | 28 |
|
24 | 29 | export default defineComponent({
|
25 | 30 | name: 'TabsDemo',
|
26 |
| - components: { CollapseContainer, PageWrapper, [Input.name]: Input }, |
| 31 | + components: { CollapseContainer, PageWrapper, [Input.name]: Input, [Alert.name]: Alert }, |
27 | 32 | setup() {
|
28 |
| - const { closeAll, closeLeft, closeRight, closeOther, closeCurrent, refreshPage } = useTabs(); |
29 |
| -
|
| 33 | + const title = ref<string>(''); |
| 34 | + const { closeAll, closeLeft, closeRight, closeOther, closeCurrent, refreshPage, setTitle } = |
| 35 | + useTabs(); |
| 36 | + const { createMessage } = useMessage(); |
| 37 | + function setTabTitle() { |
| 38 | + if (title.value) { |
| 39 | + setTitle(title.value); |
| 40 | + } else { |
| 41 | + createMessage.error('请输入要设置的Tab标题!'); |
| 42 | + } |
| 43 | + } |
30 | 44 | return {
|
31 | 45 | closeAll,
|
32 | 46 | closeLeft,
|
33 | 47 | closeRight,
|
34 | 48 | closeOther,
|
35 | 49 | closeCurrent,
|
36 | 50 | refreshPage,
|
| 51 | + setTabTitle, |
| 52 | + title, |
37 | 53 | };
|
38 | 54 | },
|
39 | 55 | });
|
|
0 commit comments