iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue 动态添加el-input的实现逻辑
  • 136
分享到

vue 动态添加el-input的实现逻辑

2024-04-02 19:04:59 136人浏览 泡泡鱼
摘要

目录一、效果图二、实现逻辑一、效果图 二、实现逻辑 将需要动态添加的表单项项的绑定值存为一个数组以循环的方式展示fORM表单点击`+`按钮触发事件,向数组中新加一个item点击`-

一、效果图

二、实现逻辑

  • 将需要动态添加的表单项项的绑定值存为一个数组
  • 以循环的方式展示fORM表单
  • 点击`+`按钮触发事件,向数组中新加一个item
  • 点击`-`按钮触发事件,根据循环的得到的index来删除数组中相对应位置的item三、代码实现
<template>
  <div>
    <el-button @click="isDilogShow = true" plain>动态添加input</el-button>
    <el-dialog
      title="特工安排"
      :visible.sync="isDilogShow"
      :close-on-click-modal="false"
      width="400px"
    >
      <el-form ref="form" :model="form">
        <el-form-item>
          <div v-for="(item, index) in List" :key="index" class="content">
            <el-form-item>
              <el-input
                class="numrule"
                type="number"
                style="max-width: 130px"
                v-model.number="item.num"
                placeholder="请输入代号"
                @input="
                  (val) => {
                    handleNumChange(val, index)
                  }
                "
              ></el-input>
              <span>搭档为</span>
              <el-select
                v-model="item.name"
                placeholder="请选择"
                style="max-width: 130px"
              >
                <el-option
                  v-for="item in userList"
                  :key="item.id"
                  :label="item.name"
                  :value="item.name"
                >
                </el-option>
              </el-select>
              <!-- 若表单中没有值则不可以新增item(可根据自己的需求进行更改哦) -->
              <span
                v-if="index === 0"
                :class="
                  item.num === null || item.name === ''
                    ? 'change-icon-add'
                    : 'change-icon'
                "
                ><i
                  :style="{
                    pointerEvents:
                      item.num === null || item.name === '' ? 'none' : 'auto',
                  }"
                  class="el-icon-circle-plus-outline"
                  @click="addItem()"
                ></i
              ></span>
              <span v-else class="change-icon" @click="deleteItem(index)"
                ><i class="el-icon-remove-outline"></i
              ></span>
            </el-form-item>
          </div>
        </el-form-item>
        <el-form-item style="text-align: right;">
          <el-button @click="isDilogShow = false">取消</el-button>
          <el-button type="primary" @click="onSubmit">确认</el-button>
        </el-form-item>
      </el-form>
    </el-dialog>
  </div>
</template>
<script>
export default {
  name: "About",
  data() {
    return {
      isDilogShow: false,
      form: {
        name: "",
      },
      List: [{ num: "", name: "" }],
      userList: [
        { id: 1, name: "麻雀" },
        { id: 2, name: "夜莺" },
        { id: 3, name: "百灵" },
      ],
    }
  },
  methods: {
    handleNumChange(v, i) {
      console.log(v)
      console.log(i)
    },
    onSubmit() {
      console.log("submit!")
    },
    // 新增任务分配
    addItem() {
      this.List.push({
        num: "",
        name: "",
      })
    },
    deleteItem(i) {
      this.List.splice(i, 1)
    },
  },
}
</script>
<style lang="sCSS">
.content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  span{
    margin: 0 8px;
  }
  .change-icon {
    font-size: 26px;
    cursor: pointer;
  }
  // 点击事件是否可用 ----> pointer-events:none;
  .change-icon-add {
    font-size: 26px;
    cursor: no-drop;
  }
}
.numrule {
  input::-WEBkit-outer-spin-button,
  input::-webkit-inner-spin-button {
    -webkit-appearance: none;
  }
  
  input[type="number"] {
    -moz-appearance: textfield;
  }
}
</style>

到此这篇关于Vue 动态添加el-input的文章就介绍到这了,更多相关vue 动态添加el-input内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue 动态添加el-input的实现逻辑

本文链接: https://www.lsjlt.com/news/153119.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue 动态添加el-input的实现逻辑
    目录一、效果图二、实现逻辑一、效果图 二、实现逻辑 将需要动态添加的表单项项的绑定值存为一个数组以循环的方式展示form表单点击`+`按钮触发事件,向数组中新加一个item点击`-...
    99+
    2024-04-02
  • vue怎么实现动态添加el-input
    本文小编为大家详细介绍“vue怎么实现动态添加el-input”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue怎么实现动态添加el-input”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、效果图二、实现...
    99+
    2023-07-02
  • vue+elementui实现动态添加行/可编辑的table
    本文实例为大家分享了vue+elementui实现动态添加行、可编辑的table的具体代码,供大家参考,具体内容如下 HTMl代码块: <el-col :span="24"&g...
    99+
    2024-04-02
  • Vue一个动态添加background-image的实现
    目录Vue一个动态添加background-imageVue踩坑background-image路径结合实际情况,处理方法如下扩展:图片格式(base64)总结Vue一个动态添加ba...
    99+
    2023-03-11
    Vue动态添加 Vue background-image Vue添加background-image
  • Vue动态添加属性到data的实现
    目录一、场景例子二、原理分析三、解决方案一、场景例子 <body> <div id="app"> <p v-for="(valu...
    99+
    2022-11-13
    Vue 动态添加属性 Vue 添加属性
  • el-menu动态加载路由的实现
    先看需要实现的效果 这里有一级也有二级菜单,注意二级菜单的父目录(”选项设置“点击不会跳转,只是展开目录),然后点击去详情页,需要跳到一个隐藏的路由,不在菜...
    99+
    2023-05-15
    el-menu动态加载路由 el-menu动态路由
  • mybatis动态sql实现逻辑代码详解
    目录1.xml文件读取2.xml 文件解析mybatis通过将sql配置xml文件中,通过解析xml动态标签来实现动态sql 如下样例 xml文件 <?xml ve...
    99+
    2024-04-02
  • vue动态添加表单validateField验证功能实现
    vue动态添加表单validateField验证,代码如下所示: <template> <el-form ref="form" :model="form" ...
    99+
    2023-05-14
    vue动态添加表单 vue  validateField验证
  • jQuery如何实现动态添加、删除按钮及input输入框
    这篇文章给大家分享的是有关jQuery如何实现动态添加、删除按钮及input输入框的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:<html> <hea...
    99+
    2024-04-02
  • vue+el-upload实现多文件动态上传
    vue+el-upload多文件动态上传,供大家参考,具体内容如下 使用场景 点击【添加/删除】,可动态增加/删除行数,并为每行上传附件,附件暂存前端,点击【上传】可以将所有附件和部...
    99+
    2024-04-02
  • vue实现动态列表尾部添加数据执行动画
    目录动态列表尾部添加数据执行动画先上动画动态数据使用wowjs显示动画1.通过npm安装2.在main.js中引入animate.css动态列表尾部添加数据执行动画 先上动画 动态...
    99+
    2024-04-02
  • AngularJS怎么实现动态添加Option
    这篇文章主要为大家展示了“AngularJS怎么实现动态添加Option”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“AngularJS怎么实现动态添加Opti...
    99+
    2024-04-02
  • vue如何实现select动态控制input禁用
    这篇文章主要介绍“vue如何实现select动态控制input禁用”,在日常操作中,相信很多人在vue如何实现select动态控制input禁用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue如何实现se...
    99+
    2023-07-04
  • Vue如何实现动态渲染input输入框
    本文小编为大家详细介绍“Vue如何实现动态渲染input输入框”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue如何实现动态渲染input输入框”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。问题描述就比如现在...
    99+
    2023-07-04
  • vue动态添加表单validateField验证功能如何实现
    今天小编给大家分享一下vue动态添加表单validateField验证功能如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-07-05
  • jQuery实现动态添加标签事件
    本文实例为大家分享了jQuery实现动态添加标签事件的具体代码,供大家参考,具体内容如下 代码: <body> <table id="tableID"...
    99+
    2024-04-02
  • vue怎么实现动态列表尾部添加数据执行动画
    这篇文章主要介绍“vue怎么实现动态列表尾部添加数据执行动画”,在日常操作中,相信很多人在vue怎么实现动态列表尾部添加数据执行动画问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue怎么实现动态列表尾部添加...
    99+
    2023-06-29
  • Vue+Element一步步实现动态添加Input_输入框案例
    目录输入式动态添加单选式动态添加组合式动态添加组合式动态添加(回传名称)单选、多选组合式数据回显完整示例总结单选切换多选(补充)下拉框渲染卡顿问题(补充)双循环遍历优化输入式动态添加...
    99+
    2024-04-02
  • vue+elementUI-el-table实现动态显示隐藏列方式
    目录vue elementUI-el-table动态显示隐藏列主要代码如下相关截图总结vue elementUI-el-table动态显示隐藏列 在实际工作场景中,我们在展示数据时,...
    99+
    2023-01-13
    vue elementUI el-table el-table动态显示隐藏列 vue动态显示隐藏列
  • vue中怎么给el-radio添加tooltip并实现点击跳转
    本篇内容介绍了“vue中怎么给el-radio添加tooltip并实现点击跳转”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!给el-radi...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作