在textarea实现批量查询ID时,可以通过回车事件触发查询,在查询前实时对输入框的id进行去重。通常,查询以逗号分隔。如何实现更轻松、更智能的交互?满足多种查询方式的场景:1.逗号分隔查询2.逗号分隔换行查询3.逗号分隔查询有无换行(部分换行):4.多个换行间隔也可以查询:5.无逗号的换行查询6.可以去重id输入框:首先用正则规则过滤掉换行符、多行换行符和逗号后跟换行符,拆分成数组:letstrarr=this.userOptions.split(/\n+|,\n//如果当前数组的第i项已经存入临时数组,则跳过,//否则将当前项压入临时数组if((newArr.indexOf(strar[i])==-1)&&strar[i]!==""){//去重newArr.push(strar[i]);}}这里已经获取到了用户输入数据的去重id,newArr数组就是最终需要获取的数据和也可以界面ce数据查询。但是输入框内容不变,需要对输入框进行去重。输入框的文字需要调整如下:letnewstr=this.userOptions;for(letjinnewArr){letidx=newstr.indexOf(newArr[j]);//当前要检查的IDletbefore=newstr.substr(0,idx+newArr[j].length);//先保留第一个当前ID和前一个字符串gm'),'');//删除当前IDAllwhenIDnewstr=before+after;//两端字符串连接}this.userOptions=newstr;分为before和after两个变量分别处理输入的newstr字符串,每次遍历保存当前newstr从头到newArrid在newstr中的位置。同时勾选保存后删除所有重复到字符串末尾的ID。每一轮处理后,都会形成一个新的newstr,继续检查下一个id是否与后面的id重复,直到before之后的所有重复id都被清除。完整代码:data(){return{userOptions:""};},...init(){让newArr=[];//一个新的临时数组letnewstr=this.userOptions;letstrarr=this.userOptions.split(/\n+|,\n*/gm);//去掉换行后拆分ID列表数组letafter="",before="";for(leti=0;i{//查询完成})},