vue~封装一个文本框添加与删除的组件

这篇具有很好参考价值的文章主要介绍了vue~封装一个文本框添加与删除的组件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

标签组件的效果如下

vue~封装一个文本框添加与删除的组件

组件作用

  • 这是一个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() {
    if(this.dic!=null && this.dic.length>0){
      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~封装一个文本框添加与删除的组件
vue~封装一个文本框添加与删除的组件文章来源地址https://www.toymoban.com/news/detail-710147.html

到了这里,关于vue~封装一个文本框添加与删除的组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue 封装一个Dialog组件

    基于element-plus封装一个Dialog组件

    2024年02月09日
    浏览(35)
  • 记录--封装一个通过js调用的全局vue组件

    在使用vue项目编写的时候,不可避免的会碰到需要时js api来调用组件进行显示的情况 例如饿了么element ui 的 Notification 通知、Message 消息提示等组件 虽然已经提供了,但是由于api的限制,我们只能通过特定的参数来有限的改变组件的样式 之前的文章说过可以使用 new Vue() 、

    2024年02月09日
    浏览(58)
  • Vue2封装一个全局通知组件并发布到NPM

    ✍🏼作者:周棋洛,计算机学生 ♉星座:金牛座 🏠主页:点击查看更多 🌐关键: vue2 组件封装 npm发包 你好!我是王子周棋洛,好久没写文了。 今天带大家 封装 一个类似 element-ui 的全局通知组件,并发布到 npm 后安装使用自己封装的组件。go,go,go🎉 原因1:现成UI组件

    2024年02月09日
    浏览(53)
  • vue2封装一个步进器组件number-box

    最近做一个商城的项目,商品的详情页和购物车列表都需要用到上面数量增减的功能,其实这个是一个很普通的功能,但是购物车的列表是放到vuex里面的,这里记录使用的差别: 首先封装number-box组件: 在列表页去引用,并使用v-vmode传递数据: 如果数据是直接在data下面,直

    2024年02月04日
    浏览(48)
  • 封装一个类似微信通讯录带有字母检索功能的vue组件

    这里我们直接使用 scrollIntoView 方法 该方法将调用它的元素滚动到浏览器窗口的可见区域 element.scrollIntoView(); // 等同于element.scrollIntoView(true) element.scrollIntoView(alignToTop); //布尔参数 element.scrollIntoView(scrollIntoViewOptions); //对象参数 分析一下功能就知道很简单了。 首先需要

    2024年02月12日
    浏览(62)
  • 基于vue element-ui 封装上传图片组件 功能:上传,删除,预览,上传图片水印,拖拽排序,上传进度条等

    我们在开发后台时肯定避免不了上传图片的功能 例如: 上传图片回显 上传完成 : 预览查看 , 删除等 如果是图片列表,还可能让你拖动图片排序 有的后台项目可能要给图片添加水印,添加标记 有的后台可能要炫酷一点 添加进度条功能 现在我们要完成上面的一系列功能,这里我

    2024年02月16日
    浏览(60)
  • vue 做一个文本展示 点击文本弹出element ui的时间选择器 但不会出现element ui时间组件的那个输入框

    我们先来创建一个vue2项目 引入element ui 然后 找到一个组件 这样写 这样 我们就写出了一个基本的element ui时间选择组件 但这显然不是我们要的效果 这里我们给时间控件了一个class pickerTime 用它来控制样式 我们css部分代码这样写一下 这样 我们的组件就看不到了 先别急 然后

    2024年02月07日
    浏览(45)
  • vue2+ant-design-vue a-select组件二次封装(支持单选/多选添加全选/分页(多选跨页选中)/自定义label)

    参数 说明 类型 默认值 v-model 绑定值 boolean / string / number/Array - mode 设置’multiple’\\\'tags’多选 (显示全选) String - optionSource 下拉数据源 Array - width select宽度(可以设置百分比或px) String 100% customLabel 是否自定义设置下拉label String - valueKey 传入的 option 数组中,要作为最终选择

    2024年02月08日
    浏览(50)
  • webui 通过提示词矩阵的文本框功能添加负面标签

    众所周知使用该功能可以添加很多行tag,脚本会解析一行中所有tag内容,逐行生成图片 默认每行输入是按照正咒的形式输入的,跑的多了,出现了很多一个脑袋两个身体之类的怪东西,通过添加负面标签可以一定程度上减小这种情况。但是界面上没用单独添加负面标签的位置

    2024年02月12日
    浏览(40)
  • Unity3D实现给3D物体添加文本标签

    本教程将向您展示如何通过编写脚本来实现在Unity3D中给3D物体添加文本标签的通用方法。了解如何创建文本标签预制体,并通过编写脚本将其添加到3D物体上,以提供更多信息或标识物体。

    2024年02月04日
    浏览(179)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包