说明

本组件是基于el-dialog的高阶组件,改变定位以居中自适应为基础,保留了大部分原有api。

配置

配置 类型 默认值 备注
mode String 'confirm' 模式:'message' / 'confirm'
width String|Number 内容宽度(替代原api的width);不支持%,请用vw代替。
min-width String|Number '400px' 内容最小宽度;不支持%,请用vw代替。
max-width String|Number '80vw' 内容最大宽度;不支持%,请用vw代替。
height String|Number 内容高度;不支持%,请用vw代替。
min-height String|Number '80px' 内容最小高度;不支持%,请用vw代替。
max-height String|Number '70vh' 内容最大高度;不支持%,请用vw代替。
close-text String '关闭' 关闭按钮文字
confirm-text String '确定' 确定按钮文字
show-button Boolean true 是否显示下方按钮
on-confirm ()=>{} 确定按钮事件

废弃原配置

配置 原因
width 兼容性不足,已经被同名新配置替代
top 以居中为定位,已经无用

默认值调整

配置 类型 默认值 原因
title String '提示' 标题文字
close-on-click-modal Boolean false 避免误点

使用方式

<p-dialog
    :visible.sync="dialogVisible"
    :mode="form.mode"
    :width="form.width"
    :min-width="form.minWidth"
    :max-width="form.maxWidth"
    :height="form.height"
    :min-height="form.minHeight"
    :max-height="form.maxHeight"
    :close-text="form.closeText"
    :confirm-text="form.confirmText"
    @on-confirm="onConfirm">
    <div>
        <p
            v-text="
            Array.from(new Array(parseInt(length)))
                .map(() => '文本')
                .join('')
            ">
        </p>
    </div>
</p-dialog>
export default {
    data() {
        return {
            dialogVisible: false,
            length: 2000,
            form: {
                mode: 'confirm',
                width: undefined,
                minWidth: '400px',
                maxWidth: '80vw',
                height: undefined,
                minHeight: '80px',
                maxHeight: '70vh',
                closeText: '关闭',
                confirmText: '确定',
            }
            // ...
        }
    }
    methods: {
      onConfirm() {
        console.log('on-confirm click!')
        this.dialogVisible = true
      },
    },
    // ...
}
文档更新时间: 2021-05-12 18:48   作者:管理员