相关文章推荐
逃课的小虾米  ·  Nexus3 重置 admin 账号密码 ...·  1 月前    · 
愉快的夕阳  ·  上海市人力资源和社会保障局关于开展2025年 ...·  8 月前    · 
成熟的香烟  ·  高铁没票了e卡通可以进去吗?中铁银通卡没票了 ...·  9 月前    · 
激动的书包  ·  [亲测可用]3Dmax2020注册机[3Ds ...·  9 月前    · 
满身肌肉的扁豆  ·  新闻发布会-“盛虹杯”2023连云港·徐圩马 ...·  1 年前    · 
Code  ›  记Ant Design Vue Modal组件的使用及踩的坑开发者社区
vue 前端组件
https://cloud.tencent.com/developer/article/1543940
谈吐大方的拐杖
2 年前
作者头像
德顺
0 篇文章

记Ant Design Vue Modal组件的使用及踩的坑

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 前端资源 > 记Ant Design Vue Modal组件的使用及踩的坑

记Ant Design Vue Modal组件的使用及踩的坑

作者头像
德顺
发布 于 2019-11-26 14:18:41
17.6K 0
发布 于 2019-11-26 14:18:41
举报

最近在使用 Vue 开发一个项目,前端框架用的 Ant Design ,Ant Design for React 已经比较成熟,兼容性和灵活性也比较高。但是 Ant Design for Vue 貌似还有点不那么完善。

今天先整理一下 Modal 组件的使用及我开发过程中注意到的一些点。至于 Antd for Vue 存在的 Bug,后期整理到的时候在说吧。

记Ant Design Vue Modal组件的使用及踩的坑 经验总结 第1张

Antd for Vue Modal 组件的使用:

引入及注册:

首先要引入 Vue ,然后是 Ant Design Modal 组件:

import Vue from 'vue'
import { Modal } from 'ant-design-vue';

Antd 的安装和配置我就不赘述了,详情见官方API: 在 vue-cli 3 中使用

在使用之前,必须要先注册组件:

Vue.component(Modal.name, Modal);

常用参数/属性:

隐藏右上角 × 号: :closable="false"

居中显示: centered

确定事件: @ok="handleOk"

自定义宽度: width="80%"

确定按钮文字: okText="确认"

取消按钮文字: cancelText="取消"

禁止点击蒙层(遮罩)关闭: :maskClosable="false"

确认按钮样式: okType="link"

确认按钮样式,同 Button ,有 primary dashed danger link 四种样式

嗯,Antd 只有确认按钮的自定义样式,取消按钮没有,那么就会出现下面这样的情况:

记Ant Design Vue Modal组件的使用及踩的坑 经验总结 第2张

不过,可以使用 :cancelButtonProps 来设置取消按钮的 type 属性: :cancelButtonProps="{ props: {type: 'link'} }"

隐藏 footer : :footer="null"

有时需要自定义按钮,不使用 Antd 自带的按钮样式,可以把 Footer 部分隐藏。然后给按钮绑定“确定”和“取消”事件。

确定:@click="handleOk"

取消:@click="handleCancle"

以我上图的样式为例:

.Vue 代码:

<template>
    <a-modal :closable="false"
             centered
             v-model="confirmShow"
             @ok="handleOk"
             class="captcha-modal"
             width="80%"
             cancelText="取消"
             okText="确认"
             :cancelButtonProps="{ props: {type: 'link'} }"
             okType="link">
      <h4 class="fz-18 text-c">请输入图片验证码</h4>
      <a-form-item class="form-item mb-0">
        <a-input autosize="true" size="large" v-decorator="['captcha']" placeholder="请输入图片验证码">
        </a-input>
        <img class="captcha-img" src="https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=4181169730,4061301865&fm=26&gp=0.jpg" alt="">
      </a-form-item>
    </a-modal>
</template>

JS部分:

<script>
  export default {
    data() {
      return {
        confirmShow: false,
    methods: {
      handleOk(e) {
        console.log(e);
        this.confirmShow = false;
        this.getCaptcha()
</script>

CSS 代码: 将原始样式覆盖掉

/*验证码弹窗Modal*/
.captcha-modal .form-item{
  background: #F3F6FB;
.captcha-modal .form-item input{
  border: none;
  box-shadow: none;
.captcha-modal .captcha-img{
  height: 100%;
  width: auto;
  position: absolute;
  right: 10px;
  top: 0;
.captcha-modal .ant-modal-footer{
  padding: 0;
.captcha-modal .ant-modal-footer>div{
  display: flex;
  justify-content: space-between;
.captcha-modal .ant-btn{
  width: 50%;
  height: auto;
  font-size: 16px;
  border-radius: 0;
 
推荐文章
逃课的小虾米  ·  Nexus3 重置 admin 账号密码 - immaxfang - 博客园
1 月前
愉快的夕阳  ·  上海市人力资源和社会保障局关于开展2025年高校毕业生等青年就业服务攻坚行动的通知_就业培训_上海市人力资源和社会保障局
8 月前
成熟的香烟  ·  高铁没票了e卡通可以进去吗?中铁银通卡没票了可以上车吗-汽车之家
9 月前
激动的书包  ·  [亲测可用]3Dmax2020注册机[3Dsmax2020序列号密钥]免费下载与使用方法-TZ素材网
9 月前
满身肌肉的扁豆  ·  新闻发布会-“盛虹杯”2023连云港·徐圩马拉松赛新闻发布会
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号