uniapp如何添加多个表单数组?

目录

一、实现思路

二、实现步骤

        ①view部分展示

        ②JavaScript 内容

        ③css中样式展示

        

三、效果展示

四、小结 + 注意事项

        总结模板:


一、实现思路

        1.在 data 中定义一个数组,用于存储表单项的数据

        2.在模板中使用 v-for 指令渲染表单项

        3.在 methods 中定义添加和删除表单项的方法

        每点击一次 “添加表单项” 按钮,就会新增一个表单项

        并且你可以通过输入框的 v-model 来动态修改表单项的值。点击对应的 “删除” 按钮可以移除对应的表单项。

        

二、实现步骤

        ①view部分展示

<view style="background-color: #e5e5e5;padding: 32rpx;"><view class="publish-top-two" style="margin: 32rpx; "><template v-for="(item,index) in exigencyList"><view class="publish-top" style="position: relative; padding: 32rpx;" :key="index"><view class="upload-title">紧急联系人{{ item.num }}</view><view class="person-item"><view class="flex"><view class="asterisk">*</view><view class="item-left">姓名</view></view><u-input v-model="item.name" border="none" placeholder="请输入姓名"placeholderStyle="color: #999"></u-input></view><view class="person-item"><view class="flex"><view class="asterisk">*</view><view class="item-left">手机号</view></view><u-input v-model="item.telephone" border="none" placeholder="请输入手机号"placeholderStyle="color: #999"></u-input></view><view class="person-item"><view class="flex"><view class="asterisk">*</view><view class="item-left">关系</view></view><u-input v-model="item.relation" border="none" placeholder="请输入关系"placeholderStyle="color: #999"></u-input></view><view style="position: absolute;top: -5px;left: -5px;width: 40rpx;height: 40rpx;"v-if="index != 0" @click.stop="reduceGoods(index)"><!-- 								<u-icon name="minus-circle" color="Error" size="22"></u-icon> --><image style="width: 100%;height: 100%;"src="../../pagesLeave/static/information/reduce.png" mode="aspectFill"></image></view></view></template></view><view class="addexigencybth" @click="getadd">添加联系人</view></view>

        ②JavaScript 内容

<script>export default {data() {return {exigencyList: [{num: '1',name: '',telephone: '',relation: '',},{num: '2',name: '',telephone: '',relation: '',}],}},methods: {// 添加紧急联系人getadd() {this.exigencyList.push({num: '1',name: '',telephone: '',relation: '',})//新增默认加 0.1// this.form.salary += 0.1},//减少紧急联系人reduceGoods(index) {this.exigencyList.splice(index, 1)// 需要去除减少物品的价格let count = 0for (let i = 0; i < this.tabList; i++) {count += this.tabList[i].fetchMoney}// this.form.salary = count},}}
</script>

        ③css中样式展示

<style lang="scss" scoped>.publish-top {margin: 12px 16px 0px 16px;background-color: #fff;border-radius: 16rpx;.person-item {display: flex;align-items: center;padding: 32rpx;border-bottom: 1px solid #E6E6E8;}//紧急联系人.publish-top-two {position: absolute;left: auto;top: 104px;.publish-top {position: relative;background-color: #fff;border-radius: 16rpx;.reduce-btn {position: absolute;top: 0px;left: 0px;width: 40rpx;height: 40rpx;image {width: 100%;height: 100%;}}}}}.asterisk {color: rgba(255, 128, 128, 1);margin-right: 10rpx;margin-top: 12rpx;}.item-left {color: #1A1A1A;font-family: MiSans-Medium, MiSans;font-weight: 500;font-size: 32rpx;margin-right: 32rpx;}.item-right {text-align: right;font-size: 32rpx;color: #333}.addexigencybth {height: 88rpx;margin: 12px 16px 0px 16px;background-color: #fff;border-radius: 16rpx;display: flex;align-items: center;justify-content: center;color: #1A1A1A;font-size: 32rpx;font-weight: 500;}
</style>

        

三、效果展示

        点击添加按钮就会添加一个输入框

        点击减少,就会减少输入框

       

        

四、小结 + 注意事项

        总结模板:

 在模板中使用 v-for 指令渲染表单项 <div>
    <div v-for="(item, index) in formItems" :key="index">
      <input type="text" v-model="item.value">
      <button @click="removeFormItem(index)">删除</button>
    </div>
    <button @click="addFormItem">添加表单项</button>
  </div>

  在 data 中定义一个数组,用于存储表单项的数据
data() {
  return {
    formItems: []
  }
}

在 methods 中定义添加和删除表单项的方法

methods: {
  addFormItem() {
    this.formItems.push({ value: '' });
  },
  removeFormItem(index) {
    this.formItems.splice(index, 1);
  }
}

        这样就完成了在uni-app中添加多个表单数组的功能。每次点击“新增”按钮时,会自动添加一个新的表单项;而点击已存在的表单项右侧的“删除”按钮时,则会从列表中移除该表单项。

        表单中至少保留一条表单项,必须要有添加按钮,和移除按钮

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/439599.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023年算法CDO-CNN-BiLSTM-ATTENTION回归预测(matlab)

2023年算法CDO-CNN-BiLSTM-ATTENTION回归预测&#xff08;matlab&#xff09; CDO-CNN-BiLSTM-Attention切诺贝利灾难优化器优化卷积-长短期记忆神经网络结合注意力机制的数据回归预测 Matlab语言。 切诺贝利灾难优化器Chernobyl Disaster Optimizer (CDO)是H. Shehadeh于202…

对于gzip的了解

gzip基本操作原理&#xff1a;通过消除文件中的冗余信息&#xff0c;使用哈夫曼编码等算法&#xff0c;将文件体积压缩到最小。这种数据压缩方式在网络传输中发挥了巨大作用&#xff0c;减小了传输数据的大小&#xff0c;从而提高了网页加载速度。 静态资源 Vue Vue CLl修改v…

全新PHP短网址生成系统,短链接生成系统,URL缩短器系统源码

PHP短网址系统URL缩短器平台&#xff0c;它使您可以轻松地缩短链接&#xff0c;根据受众群体的位置或平台来定位受众&#xff0c;并为缩短的链接提供分析见解。 系统使用了Laravel框架编写&#xff0c;前后台双语言使用&#xff0c;可以设置多域名&#xff0c;还可以开设套餐等…

SpringCloud--OpenFeign解析

一、OpenFeign简介 OpenFeign是一个声明式的Web服务客户端&#xff0c;它简化了与HTTP API的通信。它的底层原理主要基于Java的反射和动态代理&#xff0c;并且通过利用Spring AOP 框架、RestTemplate、Ribbon 和 Hystrix 等组件&#xff0c;将复杂的 HTTP 调用封装起来&#…

游泳耳机哪个牌子好?游泳耳机型号排行榜单帮你选!

游泳是一项绝佳的全身运动&#xff0c;不仅可以增强体能&#xff0c;还能锻炼身体、减轻压力。然而&#xff0c;在游泳的时候&#xff0c;我们常常感到无聊&#xff0c;缺乏动力。怎么办呢&#xff1f;这时一个出色的游泳耳机就显得尤为重要。今天&#xff0c;我将向大家介绍一…

Redis 面试题 | 19.精选Redis高频面试题

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【三维重建】运动恢复结构(SfM)

运动恢复结构是通过三维场景的多张图像&#xff0c;恢复出该场景的三维结构信息以及每张图片对应的摄像机参数。 欧式结构恢复(内参已知&#xff0c;外参未知) 欧式结构恢复问题&#xff1a; 已知&#xff1a;1、n个三维点在m张图像中的对应点的像素坐标 2、相机内参 求解&…

07. STP的基本配置

文章目录 一. 初识STP1.1. STP概述1.2. STP的出现1.3. STP的作用1.4. STP的专业术语1.5. BPDU的报文格式1.6. STP的选择原则&#xff08;1&#xff09;选择根桥网桥原则&#xff08;2&#xff09;选择根端口原则 1.7. 端口状态1.8. STP报文类型1.9. STP的收敛时间 二. 实验专题…

idea 创建 spring boot

1.创建步骤 2. 编码添加 2.1 这是自动生成的启动函数 package com.example.comxjctest4;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class Application {publi…

电脑文件丢失怎么恢复数据?数据恢复,3个方法!

“我有一份很重要的资料文件保存在电脑上了&#xff0c;但是刚刚发现这些文件莫名其妙丢失了。电脑文件丢失应该怎么恢复数据呀&#xff1f;大家有什么比较好用的方法可以推荐吗&#xff1f;” 在日常生活中&#xff0c;我们经常都需要使用电脑&#xff0c;当然&#xff0c;也会…

【算法】BFS算法解决多源最短路问题(C++)

文章目录 前言那么什么是单源最短路 / 多源最短路呢&#xff1f;如何解决此类题&#xff1f;解法一解法二对于解法二&#xff0c;如何编写代码&#xff1f; 算法题542.01矩阵1020.飞地的数量1765.地图中的最高点1162.地图分析 前言 此前我们对 单源最短路 问题进行的讲解&…

Orion-14B-Chat-Plugin本地部署的解决方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…