Files
naive-ui-admin/src/views/form/stepForm/stepForm.vue
2021-07-15 13:52:54 +08:00

77 lines
1.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div>
<div class="n-layout-page-header">
<n-card :bordered="false" title="分步表单">
将一个冗长或用户不熟悉的表单任务分成多个步骤指导用户完成
</n-card>
</div>
<n-card :bordered="false" class="proCard mt-4">
<n-space vertical class="steps">
<n-steps :current="currentTab" :status="currentStatus">
<n-step
title="填写转账信息"
description="确保填写正确"
/>
<n-step
title="确认转账信息"
description="确认转账信息"
/>
<n-step
title="完成"
description="恭喜您,转账成功"
/>
</n-steps>
<step1 v-if="currentTab === 1" @nextStep="nextStep"/>
<step2 v-if="currentTab === 2" @nextStep="nextStep" @prevStep="prevStep"/>
<step3 v-if="currentTab === 3" @prevStep="prevStep" @finish="finish"/>
</n-space>
</n-card>
</div>
</template>
<script>
import { defineComponent, ref } from 'vue'
import step1 from './Step1.vue'
import step2 from './Step2.vue'
import step3 from './Step3.vue'
export default defineComponent({
components: { step1, step2, step3 },
setup() {
const currentTab = ref(1)
const currentStatus = ref('process')
function nextStep() {
if (currentTab.value < 3) {
currentTab.value += 1
}
}
function prevStep() {
if (currentTab.value > 1) {
currentTab.value -= 1
}
}
function finish() {
currentTab.value = 1
}
return {
currentTab,
currentStatus,
nextStep,
prevStep,
finish
}
}
})
</script>
<style lang="less" scoped>
.steps {
max-width: 750px;
margin: 16px auto;
}
</style>