vue中实现中,自动补全功能

知识点:利用vue的基本语法实现,自动补全功能

参考博客:https://www.jb51.net/article/136282.htm

效果:在文本框中,输入相关名称,调用后台接口,将数据填充到下拉div中,然后选择相应的选项,将值赋值到文本框中 (暂时是离开文本框,触发下拉框div,之后会改进demo)

代码:

<div style="width: 800px">    <div v-for="(v,i) in contactlist">        <div data-repeater-list="">            <div data-repeater-item>                <div class="form-group  m-form__group row" style="padding-top: 15px;padding-bottom: 15px;">                    <label class="col-form-label col-lg-2 col-sm-12">联系人<span                            style="color: #F00">*</span>                    </label>                    <div class="col-lg-3">                        <input type="text" v-model="contactlist[i].name" @change="onchangContactPersonName(i)"                               class="form-control m-input--fixed"                               placeholder="请搜索联系人名称"/>                        <div class="select-panel">                            <div v-show="contactlist[i].isShow" v-for="w in words" class="select-item" @click="click_item(w,i)">{{ w.NAME }}</div>                        </div>                    </div >                    <label class="col-form-label col-lg-2 col-sm-12">电话<span                            style="color: #F00">*</span></label>                    <div class="col-lg-3">                        <input type="text" v-model="contactlist[i].phone"                               class="form-control m-input--fixed"                               placeholder=""/>                    </div>                    <div class="col-lg-1">                        <div data-repeater-delete=""                             style="margin-left: 25px"                             v-on:click="deleteContactNode(i)"                             class="btn-sm btn btn-danger m-btn m-btn--icon m-btn--pill">                                                  <span style="width: 20px;height: 25px;">                                                    <!--<i class="la la-trash-o"></i>-->
                                                     <span> 删除</span>                                             </span>                        </div>                    </div>                    <div class="col-lg-1">                        <div data-repeater-create=""                             style="width: 55px;margin-left: 15px"                             v-on:click="addContactNode()"                             class="btn btn btn-sm btn-brand m-btn m-btn--icon m-btn--pill m-btn--wide">                                                <span style="width: 20px;height: 25px;margin-left: -13px">                                                <!--<i class="la la-plus"></i>-->                                                                           <span> 添加 </span>                                                </span>                        </div>                    </div>                </div>            </div>        </div>    </div></div>
<script>    // register the component    Vue.http.options.emulateJSON = true;    Vue.component(‘treeselect‘, VueTreeselect.Treeselect)    new Vue({        el: ‘#app‘,        data: {            //联系人数组            contactlist:[                {id:‘‘,name: ‘‘, phone: ‘‘,isShow:false}            ],

words: [],//联系人名搜索数组        },
 
//监听联系人变化onchangContactPersonName:function (i) {    var name=this.contactlist[i].name;    this.$http.post("/contact/findContactPersonList",{name:name}).then(function(response) {        this.words = response.data;        //如果药品名称搜索为空,则给出提示        if(this.words.length<1){            alert("没有您要搜索的联系人!");            this.contactlist[i].name=‘‘;//清空输入的内容        }else {            this.contactlist[i].isShow=true;//显示药品下拉框        }

}).catch(function(response) {        alert("调用后台接口失败!");    });},

//单个联系人选项点击事件click_item:function(w,i) {    debugger    this.contactlist[i].id=w.ID;    this.contactlist[i].name=w.NAME;    this.contactlist[i].isShow=false;    // 校验联系人名称是否已经输入    this.VerifyContactName(i);},

//校验联系人名称,在数组中是否已经存在VerifyContactName:function (i) {    var flag=true;    var tempId=this.contactlist[i].id;    for(var j=0;j<i;j++){        if(this.contactlist[j].id==tempId){            flag=false;        }    }    if(flag==false){        alert("联系人名称已输入!");        this.contactlist[i].id=‘‘        this.contactlist[i].name=‘‘;//清空输入的内容        return false;    }else {        return true;    }},

 }})</script>
源码链接:https://github.com/shuaishuaihand/vuedynamicdivdemo.git


原文地址:https://www.cnblogs.com/shuaifing/p/10311907.html

时间: 2024-10-03 22:55:06

vue中实现中,自动补全功能的相关文章

editplus中html的自动补全功能

之前一直都是“纯手工”,一个一个符号慢慢敲的,现在编码量大了,自然效率也不能还停留在一个一个慢慢敲的时代. 如何设置editplus中的自动补全功能? 首先在Tools中找到Configure User Tools...,点击File选项下的Settings &&syntax,在File types中选中HTML. 将下面的Auto Completion选项勾选,默认是htmlbar.acp.点击下面的OK就可以了. 怎么使用editplus的自动补全呢? 首先先新建一个HTML页面,当你

mac-Anaconda中spyder设置自动补全功能

问题:Spyder中有时按tab不会自动补全 python——>Preferences: 设置以下两项: 原文地址:https://www.cnblogs.com/jpr-ok/p/12443979.html

Powershell中命令自动补全功能及使用Windows命令

上一节主要介绍了Powershell中常见的别名,以及怎么通过别名查看真实的Powershell命令,Powershell别名的命名规范以及如何新建自己的别名(Powershell内置别名不可更改)以及Powershell中兼容性别名,详细内容点击这里. 在本节主要包含以下内容. Powershell命令自动补全功能. 在Powershell中使用cmd命令. 总结 Powershell中命令自动补全功能 Powershell命令自动补全的功能也称为Tab扩展,自动补全的功能可以大大提高命令输入

Eclipse中输入变量会自动补全上屏的解决方法

我自己在启动Eclipse代码补全后输入感觉确实爽多了,但是每次输入变量后一按下空格,编译器会自己帮你写一个很蛋疼的名字,比如你输入了:String mStr后按下空格,它就变成了mString,十分讨厌.下面是正规的解决办法,但是经过我反复折腾,我实在没办法把插件的源码显示到工程中.于是偷个懒去网上下载了已经修改好的jar包,成功搞定. 我自己复制jar包的目录是:D:\Work Appliactions\adt-bundle-windows-x86-20140702\eclipse\plug

在python的交互式解释器中实现命令自动补全

Python的交互式解释器没有自带像Linux Shell那样的命令自动补全功能,可以编写一个模块来实现这一功能,模块源代码来自老男孩Linux培训机构的Python讲师Alex: # python startup file import sys import readline # tab completion readline.parse_and_bind('tab: complete')

使用Redis实现中英文自动补全功能详解

1.Redis自动补全功能介绍: ? Redis可以帮我们实现很多种功能,今天这里着重介绍的是Redis的自动补全功能的实现.我们使用有序集合,并score都为0,这样就按元素值的字典序排序.然后我们可以根据排序号的字符,进行添加前缀和后缀的方式,找到我们想要的区间内容.下面介绍一个简单的Zset的排序内容和思路,以便后续的理解: 名称为redis_concat的Zset集合元素如下: 编号 数值 分值 1 a 0 2 ab 0 3 abcd 0 4 abef 0 5 hjk 0 6 dbfgl

c#TextBox输入框自动提示、自动完成、自动补全功能

功能概览 相关属性 TextBox.AutoCompleteCustomSource 属性 获取或设置当 TextBox.AutoCompleteSource 属性设置为 [CustomSource] 时要使用的自定义 T:System.Collections.Specialized.StringCollection. TextBox.AutoCompleteMode 属性 获取或设置一个选项,该选项控制自动完成应用于 TextBox 的方式. 属性值 类型:System.Windows.For

Eclipse自动补全功能和自动生成作者、日期注释等功能设置

以前想实现添加代码作者信息的东西,但不知道怎样实现,今天终于在网上无意中找到解决办法了 Eclipse自动生成作者.日期注释等功能设置 在使用Eclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的. 修改作者.日期注释格式:打开Windows->Preferences->Java->Code Style->Code Templates,点击右边窗口中的Comments,可以看到有很多选项,我们便可对此注释信息模板进行编辑. 如我们希望在一个Java文件

debian下增强bash的自动补全功能

在我们新安装的Debian系统时,发现很多命令都不能自动补全,这是很不方便的,因为每个人的精力都是有限的,不是对每个命令的每一个细节都能完全记住,因此自动补全是一个很实用的功能!对于Debian操作系统,我们可以使用下列方法进行增强命令的自动补全功能! 修改/etc/bash.bashrc文件,将 #if [ -f /etc/bash_completion ]; then # . /etc/bash_completion #fi 前面的#去掉 修改/etc/profile文件,在最后增加一行 s