vue element-ui elementUi 邮箱自动补全 邮箱自动填充

在这里插入图片描述

<el-autocomplete
    v-model="form.user.email"
    :fetch-suggestions="querySearchEmail"
    :trigger-on-focus="false"
    placeholder="接收邮件邮箱"
>
</el-autocomplete>
// 邮箱自动填充后缀名
querySearchEmail(queryString, callback) {
    const emailList = [
        { value: '@qq.com' },
        { value: '@126.com' },
        { value: '@163.com' },
        { value: '@sina.com' },
        { value: '@21cn.com' },
        { value: '@sohu.com' },
        { value: '@yahoo.com.cn' },
        { value: '@tom.com' }, 
        { value: '@etang.com' },
        { value: '@eyou.com' },
        { value: '@56.com' },
        { value: '@x.cn' },
        { value: '@chinaren.comsogou.com' },
        { value: '@citiz.com' },
    ]
    let results = []
    let queryList = []
    emailList.map(item => {
        queryList.push({ value: queryString.split('@')[0] + item.value })
    })
    results = queryString ? queryList.filter(this.createFilter(queryString)) : queryList;
    callback(results);            
},

// 邮箱填写过滤
createFilter(queryString) {
    return (item) => {
        return (item.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
    };
},
Vue2输入框自动补全可以通过监听用户输入,向后台请求数据,然后将返回的数据展示在下拉框中供用户选择。下面是一个简单的实现方法: 1. 在模板中添加一个输入框和一个下拉框,用v-show指令控制下拉框的显示和隐藏。 2. 监听输入框的keyup.enter事件,当用户按下回车键时向后台请求数据。 3. 在请求数据的回调函数中将返回的数据保存到一个数组中,并将下拉框显示出来。 4. 在下拉框中使用v-for指令遍历保存的数据,并将每个数据项渲染成一个选项。 5. 监听输入框的blur事件,当输入框失去焦点时隐藏下拉框。 下面是一个示例代码: ``` <template> <div class="container"> <input v-model="msg" @keyup.enter="search" class="msg" @blur="blur"/> <div class="select-panel" v-show="isShow"> <div v-for="item in items" class="select-item" @click="select(item)">{{item}}</div> </div> </div> </template> <script> export default { data() { return { msg: '', items: [], isShow: false } }, methods: { search() { // 向后台请求数据 // 将返回的数据保存到items数组中 // 显示下拉框 }, select(item) { // 将选中的数据填充到输入框中 // 隐藏下拉框 }, blur() { // 隐藏下拉框 } } } </script> <style> .select-panel { position: absolute; z-index: 999; background-color: #fff; border: 1px solid #ccc; max-height: 200px; overflow-y: auto; } .select-item { padding: 5px; cursor: pointer; } </style> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值