vue 实现 添加 和 删除需求

Vue动态添加或删除DOM元素:购物车实例 在 Vue 中实现动态添加或删除 DOM 元素,主要通过响应式数据绑定结合列表渲染和条件渲染实现。可以使用动态列表渲染(v-for指令),通过维护响应式数组控制 DOM 元素的增删。使用 v-for 和数组来控制元素的动态渲染,通过维护一个数组,然后利用 v-for 循环来生成 DOM 元素。当添加或删除时,只需要修改数组的长度或者元素,Vue 的响应式系统会自动更新 DOM。这是 Vue 推荐的做法,因为它充分利用了数据驱动的特性,避免直接操作 DOM。 阅读详情

vue 简易 实现 添加 和 删除 需求

要求

文本框和添加按钮,点击添加按钮后,添加文本,并在下方显示,同时每个文本佩带一个 删除按钮,方便其进行删除

效果图

初始图:
在这里插入图片描述
添加 11111 元素:
在这里插入图片描述
选择删除 414141:
在这里插入图片描述

点击确定后:
在这里插入图片描述

思路

  • 主要操作分为 获取文本,添加 及 删除 操作
  • 获取文本:可以通过 文本框的 id 进行获取
  • 添加: 点击 添加 按钮,然后获取到文本的 value 值,然后添加到 data 数组中即dataArr;添加完后 将文本框 内的 value值 清空
  • 删除: 点击 删除 按钮,然后根据 文本的index 删除 对应的元素

代码

<template>
  <div class="hello">
    <!--  实现需求 将添加的元素都在下方显示,并配有 删除 按钮,可以进行删除操作 -->
    <div>
      <input type="text" name="" id="data">
      <button @click="addDataArr">add</button>
      <p v-for="(item,index) in dataArr"  v-bind:key="item">
        {{item}}
        <button @click="deleteDataArr(index)" type='text'>delete</button>
      </p>
    </div>
  </div>
</template>

<script>
import moment from 'moment';
export default {
  name: 'HelloWorld',
  data () {
    return {
      // 存放输入的数据
      dataArr:[], 
    }
  },
  methods:{
    // 添加 data 数据
    addDataArr(){
      // 先获取 文本框的 value 值,然后添加到 data 数组中 dataArr
      // 添加完后, 将 文本框中的 value 值 清空
      let dataId = document.getElementById('data')
      let dataValue = dataId.value
      console.log('new data:',dataValue)
      this.dataArr.push(dataValue)
      dataId.value = ''
    },
    // 根据 index 删除 data数据
    deleteDataArr(index){
      // 先获取到当前点击元素的index,然后将dataArr中对应index的元素删除
      // 删除时出现弹窗 确认时候要删除
      console.log('before',this.dataArr)
      let truthBeDelete = window.confirm("您确认是否要删除" + this.dataArr[index] +'吗?')
      if(truthBeDelete){
        this.dataArr.splice(index,1)
      }else{
        this.dataArr = this.dataArr
      }
      console.log('after',this.dataArr)
    }
  }
}
</script>

<style scoped>
</style>
vue2.0实现瀑布流布局+虚拟列表,附带源码及效果预览视频 vue2.0实现瀑布流布局+虚拟列表,支持视窗大小改变布局也能动态变化,附带源码 阅读详情

相关推荐

【实战指南】RF-DETR目标检测全流程:从数据准备到工业部署

本文详细介绍了RF-DETR目标检测模型的全流程应用,从数据准备、模型训练到工业部署。RF-DETR作为基于Transformer的先进模型,在COCO基准测试中表现优异,推理速度超越YOLOv8,特别适合工业场景。文章还提供了数据标注、COCO格式转换、超参数调优及边缘设备部署的实用技巧,帮助开发者高效实现目标检测任务。

weixin_29081101的博客 421

vue点击按钮实现表单动态增加或删除数据的操作

点击添加可追加行数 点击删除可删除行数,直至清空

小香菜子的博客 7195

【Tableau】解决订阅报表PDF中文显示为乱码(方框)问题

一、问题描述 在tableau server网页端报表中文字符能正常显示,但在订阅后发送到邮箱时,以图片格式呈现的内容中中文字符显示为方框。 网页端报表能正常显示中文字符: 邮件中的报表不能正常显示中文字符: 二、问题分析 网页端字符显示情况是由html编码决定的,而tableau生成图片时是通过所部署的服务器的字体文件显示字体。因此可能是由于Linux服务器缺失相关的字体文件导致网页端选择的中文字体在服务器上缺失对应的字体文件导致的。则考虑在服务器引入对应的字体文件。 三、问题解决 1、查看服务器现有

why_not_study的博客 2833

总结vue elementui增加表单输入行 点击新增,添加多个输入框,点击删除同时删除多个输入框

参考博客:https://www.cnblogs.com/zdd2017/p/11065429.html

lqy729416873的博客 7567

华为手机连接Win11失败?内核隔离与驱动签名冲突的终极解决指南

在Windows操作系统中,驱动程序是硬件与系统通信的桥梁,其数字签名机制是保障系统内核安全的核心防线。基于虚拟化的安全技术通过强制验证驱动签名,能有效隔离恶意代码,提升系统抵御高级威胁的能力。然而,严格的签名策略有时会与部分硬件驱动产生兼容性问题,导致设备无法识别,直接影响文件传输、应用调试等核心工作流。本文聚焦于华为手机在开启Windows 11内核隔离功能时出现的连接故障,深入剖析驱动签名验证与Hypervisor保护的代码完整性原理,并提供从驱动更新、策略调整到无线替代方案的完整解决路径,帮助用户在

weixin_31309419的博客 352

半导体工艺仿真:离子注入工艺仿真_(8).损伤和缺陷仿真

离子注入工艺在半导体制造中是一个重要的步骤,用于在半导体材料中引入特定的掺杂剂。然而,离子注入过程中不可避免地会产生损伤和缺陷,这些损伤和缺陷会直接影响器件的性能和可靠性。因此,对离子注入工艺中的损伤和缺陷进行仿真研究是必不可少的。本节将详细介绍如何使用仿真软件对离子注入过程中的损伤和缺陷进行建模和分析。

2401_87715305的博客 1339

vue + element-ui 实现表格 增加 删除 行 操作 以及 复选框实现

HTML 部分: <tr class="height320" style="border-top: 1px"> <td class="tdBg jianli_td lh18 textAlign"> <br>简<br>历 </td> <td colspan="6">

weixin_44941581的博客 1423

第8章-认知工程:构建Agent的认知飞轮与自进化《万物皆映射》

认知架构(Cognitive Architecture)是一个系统组织和运行其认知过程的整体设计。对人类而言,认知架构是大脑的结构和功能组织方式;对 AI Agent 而言,认知架构是它处理信息、做出决策、学习经验的系统设计。固定映射 vs 进化映射维度固定映射 Agent进化映射 Agent知识静态(训练时确定)动态(持续积累)策略固定(设计时确定)自适应(经验驱动)工具预定义自主发现/创建错误处理硬编码规则从错误中学习能力边界固定持续扩展在认知工程中,技能。

AI天才研究院 105

vue 项目单条删除功能实现

一定义api模块 import request from '@/utils/request' export default { // 带查询条件的分页查询 getHospitalList(current, limit, searchObj) { return request({ url: `/admin/hospital/findPageHospital/${current}/${limit}`, method: '...

实践求真知 707

安装西门子TIA Portal V15.1提示先决条件不足如何处理?

安装TIA Portal STEP 7 Professional WinCC Professional V15.1提示先决条件不足,需要如何才能够满足安装条件呢? 1.硬件要求: 安装 STEP 7 Basic / Professional V15.1 的计算机必须至少满足以下需求: 处理器: Core i5-6440EQ 3.4 GHz 或者相当 内存: 16GB或者更多(对于大型项目,为32GB) 硬盘:SSD,配备至少50GB的存储空间 图形分辨率:最小 1920 x 1080 显示器:15.6"

Robot_PLC_HMI_Automation 2万+

【数据分享】1985-2023 年中国 30m 生长季 NDVI 数据集:刘小平团队力作,Landsat 无缝融合无云产品

中山大学刘小平团队发布1985-2023年中国30m分辨率生长季Landsat NDVI数据集,解决了传统数据的三大痛点:无缝拼接、时间连续和质量可靠。该数据集基于5-9月生长季Landsat影像,通过云检测、多景融合等技术生成,已在GEE平台开放共享。其高分辨率、长时序特性为植被动态监测、LUCC研究等提供重要支撑,在农业、生态保护等领域具有广泛应用价值。

国科大硕士在读,分享Python/GEE/Matlab/R专业代码实践,涵盖数据分析、算法开发与应用技巧等,以代码会友。 1509

简化版:实现模块添加/删除功能(uni-app-demo)

简化版:app简单实现添加/删除模块功能

BelleLinQ的博客 1098

Kimodo 入门教程(一)英伟达开源人形机器人动捕数据集训练运动学动作扩散模型

Kimodo是一个基于700小时商用光学动作捕捉数据集训练的运动学动作扩散模型,能够生成高质量的人体和机器人3D动作。该模型支持通过文本提示和多种约束条件(如关键帧、末端执行器位置等)进行控制,并提供数字人类和类人机器人两种模型变体。安装方式包括软件包安装和源代码安装两种,需要配置HuggingFace令牌以访问文本编码器。推荐使用GPU加速,最低需要17GB显存。项目提供命令行生成和交互式演示两种使用方式,演示程序支持时间轴编辑和实时3D可视化。模型分为商用友好版和受限版,其中SMPL-X版本需要额外申请

2506_90492529的博客 1929

iview+vue实现动态添加、删除输入框

iview+vue实现动态添加、删除输入框 <div> <Row style="margin-top: 10px;" > <Col span="4" style="text-align: right;margin-top: 15px;"><label >xxx:</label ></Col> <Col span="1...

czcdcsdn的博客 1497

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【前端案例】如何实现表格的删除、修改(使用element-plus依赖)

【需求】通过vue将下面的数据,填充到表格中,并实现数据的删除、修改操作。【提前准备】搭建好一个vue工程,并安装好element-plus依赖配置。

weixin_55723857的博客 3256

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

vue模块动态增加和删除

一个常见的模块增加和删除功能 如果用js写相对复杂一点 elementUi 表单组件中有一个类似的功能 可以改成自己的需求 <el-form :model="dynamicValidateForm" ref="dynamicValidateForm" label-width="100px" class="demo-dynamic"> <el-form-item prop="name" label="问卷名称"> <el-input v-model.

黄哈哈的博客 1387

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

使用Vue实现简单购物车

实战:购物车 新手程序员最容易犯的错误就是拿到需求不管三七二十一,直接开搞。在开始写代码之前,理清思路,分析需求是十分重要的,一来可以提高书写代码的效率,二来可以避免错误带来的返工。 现在来看下购物车都需要实现哪些功能: 可以展示商品列表,每一条商品记录包含商品名称、商品单价、购买数量和操作。 可以对每个商品的数量进行增加和减少 可以删除商品 可以对商品的总价进行计算。 效果如下: 好,整理完需求之后,我们就可以着手写代码了。 首先咱们先把整体的HTML结构搭建出来,毕竟HTML是网页的骨架,没有骨架

qq_26597143的博客 5742

vue 动态添加组件

vue 利用数组循环动态添加组件 1. 实现效果: 当第一个框输入内容之后,点击添加,动态添加第二个输入框,以此类推; 2. 实现思想: 构建需要动态添加的模板,利用 v-for 循环模板。 通过 index 判断当前模板,绑定当前值。当点击 添加 时 利用数组方法 push 一个值进入数组从而达到添加一个相应模板的效果。利用 splice 删除相应位置的模板 2. 实现代码: <div class="regex_item"> <div class="add_l

panpani的博客 3798

【Element】el-form和el-table嵌套实现表格编辑并提交表单校验

页面需要用到表格采集用户数据,提交时进行表单校验;即表格中嵌套着表单,保存时进行表单校验。

weixin_71403100的博客 1万+

vuejs - - - - - 递归组件的实现

vuejs - - - - - 递归组件的实现

Dark_programmer的博客 1772

vue-综合应用-记事本

改综合应用的需求: 1.实现回车添加数组元素 2.点击按钮删除 3.显示内容条数及长度 4.删除所有 5.当数组个数为0时不显示最下面当前个数和删除所有那一行 push:添加元素 splice:删除元素(开始下标,删除个数) @ == v-on (简写) v-for :for循环,(i,index)=>循环元素与下标 @keyup.enter :按下回车键 v-model=“input_value” :与input——value动态绑定,实时变化 v-show:值为true显示,否则不显示(改变d

HPF_99的博客 196

vue2+elementUI实现handleSelectionChange批量删除-前后端

vue2+elementUI实现批量删除

qq_53376718的博客 930

【vue2】使用vue常见的业务流程与实现思路

vue的业务处理思路。前台数据渲染与后台的增删改查操作

嗨,朋友你好!我是前端领域的工作者 4330

循环新增、删除层级

新增一层,同时在下一层的下拉框里,可以选择这一层的内容 删除一层,删除这一层和下拉框里对应的选择项

小胡仙的博客 747

用Vue写一个todolist功能

今天打算用Vue来完成一个todolist的小案例,如下图: 功能分析 首先看看有什么功能,要用什么方法完成 在文本框输入待办事项,按下回车事项会添加到正在进行下面 任务完成点击左边的复选框,事项会添加到已经完成的任务 如果任务取消,点击右边的横杠删除即可 如何实现功能 要完成上面的第一个功能,按下回车添加任务 ...

qq_44820039的博客 2633

前端的日常开发小技巧总结(三)

vue+elementUI,利用table功能,实现产品数值的添加与修改

weixin_44760633的博客 663
上一篇: (leetcode) 剑指 Offer 52. 两个链表的第一个公共节点2021/7/21
下一篇: 使用vscode编写markdown的一些小插件
Zella Zhang
博客等级 码龄8年 79粉丝 176原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值