一、在components新建mailbox.vue

<template>

<div>

<el-form class="mailbox" :rules="rules" ref="form" :model="form">

<el-form-item prop="inputEmail">

<el-input

v-model="form.inputEmail"

placeholder="请输入邮箱账号"

clearable

prefix-icon="el-icon-user"

></el-input>

</el-form-item>

<div class="hintBox">

<div

@click="setInput(mail)"

class="hintItem"

v-for="mail in emails"

:key="mail"

>

{{ mail }}

</div>

</div>

</el-form>

</div>

</template>

<script>

export default {

data() {

return {

form:{

inputEmail: "",

},

rules: {

inputEmail: [

{ required: true, message: "请输入正确的邮箱", trigger: "blur" },

],}

};

},

created() {},

computed: {

emails() {

// 如果inputEmail中没有任何东西,则不处理

if (!this.form.inputEmail) return [];

// 考虑到用户自己要输@符号,如果@符号首次出现的位置大于等于第零个位置时,则不处理

if (this.form.inputEmail.indexOf("@") > -1) return [];

return [

this.form.inputEmail + "@163.com",

this.form.inputEmail + "@126.com",

this.form.inputEmail + "@0355.net",

this.form.inputEmail + "@263.net",

this.form.inputEmail + "@3721.net",

this.form.inputEmail + "@qq.com",

this.form.inputEmail + "@yahoo.com",

this.form.inputEmail + "@gmail.com",

this.form.inputEmail + "@msn.com",

this.form.inputEmail + "@hotmail.com",

this.form.inputEmail + "@aol.com",

this.form.inputEmail + "@ask.com",

this.form.inputEmail + "@live.com",

this.form.inputEmail + "@yeah.net",

];

},

},

methods: {

// 点击该邮箱后缀是补全文本框

setInput(mail) {

this.form.inputEmail = mail;

this.$emit("MailboxDelivery",this.form.inputEmail);

},

},

};

</script>

<style scoped>

.hintBox {

width: 100%;

max-height: 120px;

overflow-y: scroll;

overflow-x: auto;

position: absolute;

z-index: 999;

background-color: #fff;

}

.hintItem {

margin-top: 2px;

cursor: pointer;

margin-left: 30px;

font-size: 13px;

color: #898989;

}

.el-form-item {

margin: 0;

}

</style>

二、注册全局

import mailbox from './components/mailbox.vue'

Vue.component('mailbox', mailbox)

三、局部直接使用

<mailbox @MailboxDelivery="MailboxDelivery"></mailbox>

MailboxDelivery(val){

this.form.email = val

},

注:需要子传父,接收到后赋值

封装一个全局邮箱提示后缀的组件相关推荐

  1. 封装一个全局使用的二次确认弹窗

    背景: 如图所示,在项目中进行删除.取消.停用等等操作的时候,出于考虑误操作等,我们通常会需要用户进行二次确认,然后再进行操作.对于这种使用比较多的公共功能,我们如何才能保持一致并且简单的使用呢?出于 ...

  2. 关于Android封装一个全局的BaseActivity你需要知道的

    关于Android封装一个全局的BaseActivity你需要知道的 1.前言 2.特点 3.代码及说明 3.1.优缺点 3.2.代码 3.3.注意点 4.总结 5.最后 1.前言 对于一个Andro ...

  3. 如何通过一台 iPhone 申请一个 icloud 邮箱账号 后缀为 @icloud.com

    总目录 iOS开发笔记目录 从一无所知到入门 文章目录 需求 关键步骤 步骤 后续 需求 在 iPhone 自带的邮箱软件中添加账号,排第一位的是 iCloud 邮箱: 选 iCloud 之后: 提示 ...

  4. Vue 2.x折腾记 - (17) 基于Ant Design Vue 封装一个配置式的表单组件

    前言 写了个类似上篇搜索的封装,但是要考虑的东西更多. 具体业务比展示的代码要复杂,篇幅太长就不引入了. 效果图 2019-04-25 添加了下拉多选的渲染,并搜索默认过滤文本而非值 简化了渲染的子组 ...

  5. 微信小程序,分享如何封装一个全局支持暂停,拖动等各类操作的音视频等多媒体管理器

    不知不觉埋头于业务已许久,距离上一篇分享应该很久很久以前,具体何时,已无从知晓.慢慢的开始觉得锅有点热,感觉呼吸有点困难,温水里面的青蛙趁着腿还没完全麻木的时候,也想着开始重拾旧梦,稍微往上蹬蹬,好了 ...

  6. vue中使用qrcode.js,封装一个生成二维码的组件(支持下载和copy二维码里面的链接)

    这是一个自己封装的组件 市面上还有其他组件: vue-qr :这个可以给二维码中间加图片 本次封装组件的实例图如下: 下载qrcodde npm i qrcode -S 下载复制的插件 npm i v ...

  7. 手把手教你封装一个ant design的审核框组件

    我是歌谣 放弃很容易 但是坚持一定很酷 微信公众号关注前端小歌谣学习前端知识 这边先上代码 然后我们逐个解释 import React, { Component, Fragment } from 'r ...

  8. vue+element封装一个填写和校验ip地址的组件

    输入ip地址,输完自己切换到一下输入框,校验IP的准确性. 组件样式如下图 使用方法 <template><IpAddress v-model="deviceIPAddre ...

  9. 封装一个丝滑的聊天框组件

    需求背景 应公司业务要求,需要做个聊天机器人,要适应不同的业务场景,大概就跟淘宝客服类似,发送消息,机器人自动回复. 话不多说,直接开撸 技术栈: react(hooks写法) + flex布局 功能 ...

最新文章

  1. 《The Age of Surge》作者访谈
  2. jacobi迭代法matlab_解线性方程组的经典迭代法(1)-理论
  3. 【NLP】Google T5速读
  4. Debian下IPv6设定主地址 Set primary IPv6 address under Debian Linux
  5. Oracle WebLogic Java云服务–幕后花絮。
  6. Android Day05-网络编程之文件下载之多线程断点续传技术
  7. IIS7.5标识介绍
  8. Jenkins配置ansible
  9. Watchman 的安装
  10. 华为手机怎么隐藏按键图标_华为手机如何隐藏桌面图标
  11. Kubernetes详细笔记
  12. 性能工具之Jmeter压测Hprose RPC服务
  13. 企业工商信息数据接口说明
  14. 武汉科技大学计算机学院挂牌,计算机国家级实验教学示范中心(武汉科技大学)2018年度教学指导委员会年度会议成功举办...
  15. sencha touch 相机,相册调用
  16. Hive2.x、HiveServer、HiveServer2简述及Beeline使用
  17. 【论文阅读】BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
  18. 基于Maple的超静定连续梁内力求解器的实现
  19. Matlab Simulink 常用快捷操作和功能(1)
  20. 基于Python摄影图片分享系统设计与实现 开题报告

热门文章

  1. 一场关于ChatGPT话语权的深度思考:人类会在大模型中迷失自我吗?
  2. 曼达洛人对机器人的评价_机器人作文评语大全
  3. antv x6踩坑记录一
  4. 鸡肉作为白肉,红肉与白肉
  5. win10计算机安全模式怎么,Win10笔记本电脑如何简单进入安全模式
  6. 浪漫契约--ios技术支持
  7. 520来点工科生小浪漫
  8. C语言中三元运算符的嵌套细节说明
  9. 两个圆公切线求法_两圆的公切线教案
  10. 什么是超声刀美容,做脸部超声刀能维持多久?来了,集美!