标签组件的效果如下

组件作用

  • 这是一个div,包含了两个文本框,后面是添加和删除按钮
  • 添加按钮复制出新的div,除了文本框没有内容,其它都上面一样
  • 删除按钮将当前行div删除

组件实现

<template>
<div>
<template v-for="(item,index) in tags">
<el-row :gutter="4" style="margin:5px;">
<el-col :span="8">
<el-input v-model="item.authorName" placeholder="作者名称"/>
</el-col>
<el-col :span="8">
<el-input v-model="item.authorUnit" placeholder="作者单位名称"/>
</el-col>
<el-col :span="4">
<el-button type="text" @click="addAuthor">添加</el-button>
<span style="padding:2px;">|</span>
<el-button type="text" @click="delAuthor(index)">删除</el-button>
</el-col>
</el-row>
</template>
</div>
</template> <script>
export default {
name: "AuthorUnit",
props: {dic: {type: Array, default: []}},
data() {
return {
tags: [],
};
}, created() {
this.tags = this.dic || [];//关键字初始化,dic的值来自于父组件(调用它的组件叫父组件)
},
methods: {
addAuthor() {
this.tags.push({authorName: '', authorUnit: ''});
},
delAuthor(index) {
this.tags.splice(index, 1);
},
},
}
</script>

调用组件,为组件传默认值

<el-form-item label="作者信息" prop="articleAuthorList">
<author-unit v-model="form.articleAuthorList" :dic="form.articleAuthorList"/>
</el-form-item>

测试代码

提交之后,将出现当前你添加的这个列表的对象,对接后端接口,将这个数组POST到后端即可,如图所示:



vue~封装一个文本框添加与删除的组件的更多相关文章

  1. vue封装一个弹框组件

    这是一个提示框和对话框,例:   这是一个组件 eject.vue <template> <div class='kz-cont' v-show='showstate'> &l ...

  2. winform中文本框添加拖拽功能

    对一个文本框添加拖拽功能: private void txtFolder_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataP ...

  3. Silverlight中文本框添加回车事件后,换行无法清除的解决方法

    在开发Silverlight的项目中,为了更好的用户体验,我们常要给一些控件添加一些快捷键.然而,在Silverlight中当用户回车提交后,光标停留在文本框的第二行怎么也清除不掉,经过一段时间研究, ...

  4. 给文本框添加模糊搜索功能(“我记录”MVC框架下实现)

    步骤: 1.在文本框中输入内容时,触发keyup事件: 2.在keyup事件的处理方法中,通过Ajax调用控制器的方法: 3.在控制器方法中,搜索满足条件的数据,这里分页获取数据,且只取第一页的数据, ...

  5. WinForm -- 为TextBox文本框添加鼠标右键菜单

    WinForm -- 为TextBox文本框添加鼠标右键菜单 1. 新建一个WinForm项目,放置一个TextBox控件 2. 从工具箱拖进来一个ContextMenuStrip 3. 将TextB ...

  6. 给tkinter文本框添加右键菜单

    给tkinter文本框添加右键菜单 需求:直接右键点击使用tkinter创建的文本框是不会弹出菜单的.我们需要实现右键点击tkinter框架下的Entry对象.Text对象后弹出右键菜单可复制.粘贴和 ...

  7. js 判断一个文本框是否获得焦点

    1.js 判断一个文本框是否获得焦点 // 可以用document.activeElement判断 // document.activeElement表示当前活动的元素   // 查找你要判断的文本框 ...

  8. python开发_tkinter_获取文本框内容_给文本框添加键盘输入事件

    在之前的blog中有提到python的tkinter中的菜单操作 python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐 python开发_tkinter_窗口控件_自 ...

  9. vue 实现todolist,包含添加,删除,统计,清空,隐藏功能

    vue 实现todolist,包含添加,删除,统计,清空,隐藏功能 添加:生成列表结构(v-for+数组).获取用户输入(v-model).通过回车新增数据(v-on+.enter) 删除:点击删除指 ...

  10. 使用 elementUI 的表单进行查询,表单中只有一个文本框时,回车会自动触发表单的提交事件,导致页面的刷新。

    使用elementUI的el-form组件进行查询时,当输入框仅有一项时,回车自动提交表单,浏览器会刷新页面: 原因:由于当表单只有一个文本框时,按下回车将会触发表单的提交事件, 从而导致页面刷新. ...

随机推荐

  1. 手记系列之五 ----- SQL使用经验分享

    前言 本篇文章主要介绍的关于本人从刚工作到现在使用Sql一些使用方法和经验,从最基本的SQL函数使用,到一些场景的业务场景SQL编写. SQL基础函数使用 1.字段转换 CASE WHEN  意义: ...

  2. 体验了一把 MiniGPT-4,一言难尽

    最近看到一个好玩的开源项目:MiniGPT-4. 看名字像 GPT-4 的小老弟,其实没啥关系. 简单说,它可以识别图像,基于图像你可以和它对话,它能生成图片描述.网站.诗歌. 先看看官方给出的例子截 ...

  3. Windows 10 开启子系统Ubuntu

    卸载原有的wsl 分发子系统 # 查看已安装的wsl子系统 wsl --list # 依次删除wsl 子系统 wsl --unregister <子系统名称> 结果 安装子系统Ubuntu ...

  4. 【神经网络】基于GAN的生成对抗网络

    目录 [神经网络]基于GAN的生成对抗网络 随着深度学习的快速发展,神经网络逐渐成为人工智能领域的热点话题.神经网络是一种模仿人脑计算方式的算法,其通过大量数据和复杂的计算模型,能够实现复杂的任务和预 ...

  5. PHP检查更新加载本地版本号并解压覆盖

    <?phperror_reporting(0);ob_implicit_flush(true);$begin = microtime(true);//检查更新,加载本地版本号$config = ...

  6. [solved] login to server failed: EOF

    问题 frp 报错:login to server failed: EOF 解决方案 客户端配置 common 下 添加 tls_enable = true [common] tls_enable = ...

  7. MAUI Blazor项目中如何添加一个返回服务,并支持安卓返回键

    前言 MAUI Blazor中,安卓项目的返回键体验很不好,只能如同浏览器一样返回上一页.但很多时候,我们想让他返回的上一页,不一定就是实际上的上一页.而且也想让返回键去支持一些事件,按下返回键触发, ...

  8. Lite-Mono(CVPR2023)论文解读

    Lite-Mono: A Lightweight CNN and Transformer Architecture for Self-Supervised Monocular Depth Estima ...

  9. KVM 硬盘分区扩容(GPT与MBR两种分区、fdisk 与 growpart两种方法)

    因为认知顺序的原因,之前我都是用fdisk命令手工删除分区表后重建进行扩容,后面才发现可以用growpart命令. 实战建议直接点 AWS EC2 存储空间扩容 跳转过去参考,学习操作可以继续往下看. ...

  10. 【AltWalker】模型驱动:轻松实现自动化测试用例的自动生成和组织执行

    模型驱动的自动化测试 模型驱动的自动化测试(Model-Based Testing, 后文中我们将简称为MBT)是一种软件测试方法,它将系统的行为表示为一个或多个模型,然后从模型中自动生成和执行测试用 ...