IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue 点击添加多个input及多个关键字 -> 正文阅读

[JavaScript知识库]vue 点击添加多个input及多个关键字

<template>
<div>
  <div class="input-info">
    <el-button type="primary" size="small" @click="addInput">添 加</el-button>
    <div v-for="(item,i) of eventPlanForm.matchKeywordArray" :key="i" >
      <el-input type="text" v-model="keywordList[i]" placeholder="可添加多个关键词,回车键确认" size="small" clearable
        @keyup.13.native="enterFun(1,i)" style="width:480px;margin-right:10px"></el-input>
      <span class="iconfont el-icon-remove text-red" style="cursor:pointer" @click="removeInput">移除</span>
      <div class="textarea-info">
        <el-tag :key="tag" v-for="tag in eventPlanForm.matchKeywordArray[i]" closable :disable-transitions="true"
          size="small" @close="keywordClose(tag,1,i)">
          {{tag}}
        </el-tag>
      </div>
    </div>
    <div>
      <el-input v-model="ambiguityKeywordArray" placeholder="可添加多个关键词,回车键确认" style="margin-top:15px" size="small" @keyup.13.native="enterFun(2)"></el-input>
        <div class="textarea-info">
          <el-tag :key="tag" v-for="tag in eventPlanForm.ambiguityKeywordArray" closable :disable-transitions="true"
            size="small" @close="keywordClose(tag,2)">
            {{tag}}
          </el-tag>
        </div>
    </div>
  </div>
</div>
</template>

<script>
  export default {
    data() {
      return {
        keywordList:[],
        ambiguityKeywordArray:'',
        eventPlanForm: {
          matchKeywordArray:[],
          ambiguityKeywordArray:[],
        },
      };
    },
methods:{
      // 添加input
      addInput() {
        this.keywordList.push('')
        this.eventPlanForm.matchKeywordArray.push([])
      },
      // 移除input
      removeInput() {
         this.keywordList.pop('')
        this.eventPlanForm.matchKeywordArray.pop([])
      },
      //关键字添加
      enterFun(num,i) {
        if (num == 1) {
          if (this.keywordList[i].replace(/(^\s*)|(\s*$)/g, "") == '') {
            this.keywordList[i] = '';
            return;
          }
          if (this.eventPlanForm.matchKeywordArray[i].indexOf(this.keywordList[i]) == -1) {
            this.eventPlanForm.matchKeywordArray[i].push(this.keywordList[i])
            this.keywordList[i] = ''
            console.log(this.eventPlanForm.matchKeywordArray)
          } else {
            this.$message.warning('该关键字已经添加')
            this.keywordList[i] = ''
          }
        }
        if (num == 2) {
          if (this.ambiguityKeywordArray.replace(/(^\s*)|(\s*$)/g, "") == '') {
            this.ambiguityKeywordArray = '';
            return;
          }
          if (this.eventPlanForm.ambiguityKeywordArray.indexOf(this.ambiguityKeywordArray) == -1) {
            this.eventPlanForm.ambiguityKeywordArray.push(this.ambiguityKeywordArray.replace("\n",''))
            this.ambiguityKeywordArray = ''
            console.log(this.eventPlanForm.ambiguityKeywordArray)
          } else {
            this.$message.warning('该关键字已经添加')
            this.ambiguityKeywordArray = ''
          }
        }
      },
      //关键字删除
      keywordClose(tag, num,i) {
        if (num == 1) {
          this.eventPlanForm.matchKeywordArray[i].splice(this.eventPlanForm.matchKeywordArray[i].indexOf(tag), 1);
          console.log(this.eventPlanForm.matchKeywordArray)
        }
        if (num == 2) {
          this.eventPlanForm.ambiguityKeywordArray.splice(this.eventPlanForm.ambiguityKeywordArray.indexOf(tag), 1);
          console.log(this.eventPlanForm.ambiguityKeywordArray)
        }
      },
	}
  };
</script>

<style scoped>
.input-info{
  width: 600px;
  margin: 50px auto;
  background: #fff;
  padding:30px;
  line-height: 40px;
}
.el-tag{margin-right:5px;}
</style>

在这里插入图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-11 12:37:51  更:2021-11-11 12:38:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 9:29:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码