12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <template>
- <ui-dialog>
- <template v-slot:header>
- <span>{{ title }}</span>
- <i class="iconfont icon-close" @click="close('no')"></i>
- </template>
- <template v-if="$slots.content">
- <slot name="content" />
- </template>
- <template v-else>
- <div class="message" v-html="content"></div>
- </template>
- <template v-slot:footer>
- <UIbutton v-if="!single" type="cancel" @click="close('no')">{{
- noText
- }}</UIbutton>
- <UIbutton type="primary" @click="close('ok')">{{ okText }}</UIbutton>
- </template>
- </ui-dialog>
- </template>
- <script lang="ts">
- // @ts-nocheck
- import { defineComponent } from "vue";
- import { isFunction, omit } from "./utils";
- import UIbutton from "../button";
- export default defineComponent({
- name: "ui-confirm",
- components: { UIbutton },
- props: {
- title: {
- type: String,
- default: "提示",
- },
- okText: {
- type: String,
- default: "确定",
- },
- noText: {
- type: String,
- default: "取消",
- },
- single: {
- type: Boolean,
- default: false,
- },
- func: Function,
- content: String,
- destroy: Function,
- showCloseIcon: Function,
- },
- setup: function (props, ctx) {
- const close = (result) => {
- if (isFunction(props.func) && props.func(result) === false) {
- return;
- }
- isFunction(props.destroy) && props.destroy();
- };
- return {
- ...omit(props, "destroy", "func"),
- close,
- };
- },
- });
- </script>
|