• Welcome to Journal web site.

我是 PHP 程序员

- 开发无止境 -

没有了
Prev

Feedback 反馈组件

Data: 2018-10-05 22:35:59Form: JournalClick: 9

# Feedback 反馈组件


# 一、Message 消息提示

属性说明类型默认值
message消息文字string、VNode、(() => VNode)
type消息类型'success'、'warning'、'info'、'error''info'
duration显示时间,单位为毫秒。 设为 0 则不会自动关闭number3000
show-close是否显示关闭按钮booleanfalse
center文字是否居中booleanfalse
on-close关闭时的回调函数, 参数为被关闭的 message 实例function
<template>
    <div>
        <el-button @click="open">消息提示</el-button>
    </div>
</template>
<script>
    // 1、注册了 ElMessage 组件
    import { ElMessage } from 'element-plus'
    export default({
        setup() {
            const open = () => {
                // 2、message 消息文字
                ElMessage('消息提示1');
                // 3、type 消息类型
                ElMessage({
                    message : '消息提示2',
                    type : 'success',
                });
                // 4、duration 显示时间,单位为毫秒。 设为 0 则不会自动关闭
                // 5、show-close 显示关闭按钮
                // 6、center 文字是否居中
                ElMessage({
                    message : '消息提示3',
                    type : 'warning',
                    duration : 0,
                    showClose : true,
                    center : true,
                    onClose : function (){
                        console.log('关闭消息框');
                    }
                });
            }
            return {
                open
            }
        }
    })
</script>

# 二、Dialog 对话框

# 1、对话框属性

属性说明类型可选值默认值
v-model是否显示 Dialogboolean
titleDialog 的标题, 也可通过具名 slot 传入string
widthDialog 的宽度string、number50%
topDialog CSS 中的 margin-top 值string15vh
modal是否需要遮罩层booleantrue
draggable为 Dialog 启用可拖拽功能booleanfalse
fullscreen是否为全屏 Dialogbooleanfalse
center是否让 Dialog 的 header 和 footer 部分居中排列booleanfalse
<template>
    <div>
        <el-button @click="open">弹框</el-button>
        <!-- 1、v-model 是否显示 Dialog -->
        <!-- 2、title Dialog 的标题 -->
        <!-- 3、width Dialog 的宽度 -->
        <!-- 4、top margin-top 值 -->
        <!-- 5、modal 是否需要遮罩层 -->
        <!-- 6、draggable 为 Dialog 启用可拖拽功能 -->
        <el-dialog v-model="dialog" title="弹框" width="30%" top="50px" :modal="false" draggable>
            <span>这是弹框内容</span>
        </el-dialog>
        <!-- 7、fullscreen 是否为全屏Dialog -->
        <el-dialog v-model="dialog" title="弹框" fullscreen>
            <span>这是弹框内容</span>
        </el-dialog>
    </div>
</template>
<script>
    import { reactive, toRefs } from "vue";
    export default({
        setup() {
            const data = reactive({
                dialog : false
            });
            const open = () => {
                data.dialog = true;
            }
            return {
                ...toRefs(data),
                open
            }
        }
    })
</script>

# 2、对话框插槽

插槽名说明
Dialog 的内容
header对话框标题的内容;会替换标题部分,但不会移除关闭按钮。
footerDialog 按钮操作区的内容
<template>
    <div>
        <el-button @click="dialog = true">添加</el-button>
        <!-- 1、— Dialog 的内容 -->
        <el-dialog v-model="dialog" title="添加">
            <el-form :model="form" label-width="120px">
                <el-form-item label="姓名">
                    <el-input v-model="form.name" />
                </el-form-item>
                <el-form-item label="手机号">
                    <el-input v-model="form.phone" />
                </el-form-item>
                <el-form-item label="账户">
                    <el-input v-model="form.account" />
                </el-form-item>
                <el-form-item label="密码">
                    <el-input v-model="form.password" show-password />
                </el-form-item>
            </el-form>
            <!-- 2、header 对话框标题的内容;会替换标题部分,但不会移除关闭按钮 -->
            <template #header="{ close, titleId, titleClass }">
                <div>
                    <h4>自定义头部 {{close}} {{titleId}} {{titleClass}}</h4>
                    <el-button type="danger" @click="close">
                        关闭
                    </el-button>
                </div>
            </template>
            <!-- 3、footer Dialog 按钮操作区的内容 -->
            <template #footer>
                <span>
                    <el-button @click="dialog = false">取消</el-button>
                    <el-button type="primary" @click="dialog = false">确定</el-button>
                </span>
            </template>
            <!-- 4、— Dialog 的内容,还可以这样写 -->
            <template #default>
                <el-form :model="form" label-width="120px">
                    <el-form-item label="姓名">
                        <el-input v-model="form.name" />
                    </el-form-item>
                    <el-form-item label="手机号">
                        <el-input v-model="form.phone" />
                    </el-form-item>
                    <el-form-item label="账户">
                        <el-input v-model="form.account" />
                    </el-form-item>
                    <el-form-item label="密码">
                        <el-input v-model="form.password" show-password />
                    </el-form-item>
                </el-form>
            </template>
        </el-dialog>
    </div>
</template>
<script>
    import { reactive, toRefs } from "vue";
    export default({
        setup() {
            const data = reactive({
                dialog : false,
            });
            const form = reactive({
                name : '',
                phone : '',
                account : '',
                password : ''
            });
            return {
                ...toRefs(data),
                form
            }
        }
    })
</script>
Name:
<提交>