71 lines
1.7 KiB
Vue
71 lines
1.7 KiB
Vue
<docs>
|
||
---
|
||
order: 2
|
||
title:
|
||
zh-CN: 自定义页脚
|
||
en-US: Customized Footer
|
||
---
|
||
|
||
## zh-CN
|
||
|
||
更复杂的例子,自定义了页脚的按钮,点击提交后进入 loading 状态,完成后关闭。
|
||
不需要默认确定取消按钮时,你可以把 `footer` 设为 `null`。
|
||
|
||
## en-US
|
||
|
||
A more complex example which define a customized footer button bar,
|
||
the dialog will change to loading state after clicking submit button, when the loading is over,
|
||
the modal dialog will be closed.
|
||
You could set `footer` to `null` if you don't need default footer buttons.
|
||
|
||
</docs>
|
||
|
||
<template>
|
||
<div>
|
||
<a-button type="primary" @click="showModal">Open Modal with customized footer</a-button>
|
||
<a-modal v-model:visible="visible" title="Title" @ok="handleOk">
|
||
<template #footer>
|
||
<a-button key="back" @click="handleCancel">Return</a-button>
|
||
<a-button key="submit" type="primary" :loading="loading" @click="handleOk">Submit</a-button>
|
||
</template>
|
||
<p>Some contents...</p>
|
||
<p>Some contents...</p>
|
||
<p>Some contents...</p>
|
||
<p>Some contents...</p>
|
||
<p>Some contents...</p>
|
||
</a-modal>
|
||
</div>
|
||
</template>
|
||
<script lang="ts">
|
||
import { defineComponent, ref } from 'vue';
|
||
export default defineComponent({
|
||
setup() {
|
||
const loading = ref<boolean>(false);
|
||
const visible = ref<boolean>(false);
|
||
|
||
const showModal = () => {
|
||
visible.value = true;
|
||
};
|
||
|
||
const handleOk = () => {
|
||
loading.value = true;
|
||
setTimeout(() => {
|
||
loading.value = false;
|
||
visible.value = false;
|
||
}, 2000);
|
||
};
|
||
|
||
const handleCancel = () => {
|
||
visible.value = false;
|
||
};
|
||
return {
|
||
loading,
|
||
visible,
|
||
showModal,
|
||
handleOk,
|
||
handleCancel,
|
||
};
|
||
},
|
||
});
|
||
</script>
|