mx-submit-layout.vue 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. <template>
  2. <view class="page-content">
  3. <mx-nav-bar :title="title" v-bind="barOptions"/>
  4. <slot name="prepend"/>
  5. <view class="m-40 p-40 mx-card bg-white">
  6. <slot/>
  7. </view>
  8. <slot name="append"/>
  9. <view class="mt-20 mb-40 fx-col fx-cen-cen gap-40">
  10. <slot name="prefix"/>
  11. <uv-button :loading="loading" type="primary" shape="circle" size="large" :text="buttonText"
  12. color="linear-gradient(to right, var(--primary-light-color), var(--primary-deep-color))"
  13. :custom-style="{width: '55vw', height: '44px'}" @click="$emit('submit')"/>
  14. <slot name="suffix"/>
  15. </view>
  16. </view>
  17. </template>
  18. <script setup>
  19. import {createPropDefine} from "@/utils";
  20. defineProps({
  21. title: createPropDefine(''),
  22. buttonText: createPropDefine('保存'),
  23. loading: createPropDefine(false, Boolean),
  24. barOptions: createPropDefine({}, Object)
  25. })
  26. defineEmits(['submit'])
  27. </script>
  28. <style scoped>
  29. </style>