vue-iview动态新增和删除的方法


Posted in Javascript onJune 17, 2020

本文实例为大家分享了vue-iview动态新增和删除的具体代码,供大家参考,具体内容如下

参考链接:vue iview动态新增和删除

我根据上面的博客进行了test和小修改,效果如下:

源码如下:

html代码

<template>
 <Form ref="capsuleAttr" :model="capsuleAttr" :label-width="100" style="width: 80%">
  <ul>
  <li v-for="(item, index) in capsuleAttr.attrList" v-if="item.status" :key="index">
  <FormItem
   style="width:80%;"
   label="属性名称:"
   :prop="'attrList.' + index + '.AttrName'"
   :rules="{required: true, message: '属性名称不能为空', trigger: 'blur'}"
  >
   <Col span="7">
   <Input v-model.trim="item.AttrName" placeholder="属性名称" />
   </Col>
   <Col span="2" style="margin-left:20%;">
   <Button @click="handleRemove(item,index)" type="error" icon="md-close">删除</Button>
   </Col>
  </FormItem>
  <FormItem
   style="width:80%;"
   label="温度:"
   :prop="'attrList.' + index + '.Temperature'"
   :rules="{required: true, message: '温度不能为空', trigger: 'blur',type:'string', transform(val) {
  return String(val)}}"
  >
   <Input v-model.trim="item.Temperature" placeholder="温度" />
  </FormItem>
  <FormItem
   style="width:80%;"
   label="流量:"
   :prop="'attrList.' + index + '.Volume'"
   :rules="{required: true, message: '流量不能为空', trigger: 'blur'}"
  >
   <Input v-model.trim="item.Volume" placeholder="流量" />
  </FormItem>
  <FormItem label="推荐流量:" style="width:80%;">
   <Input v-model.trim="item.RcommendVolume" placeholder="流量" />
  </FormItem>
  <FormItem label="吹气时间:" style="width:80%;">
   <Input v-model.trim="item.Blow" placeholder="吹气时间" />
  </FormItem>
  <FormItem label="浸泡时间:" style="width:80%;">
   <Input v-model.trim="item.Soak" placeholder="浸泡时间" />
  </FormItem>

  <FormItem
   label="作业过程描述:"
   style="width:80%;"
   :prop="'attrList.' + index + '.WorkDesc'"
   :rules="{required: true, message: '作业过程描述不能为空', trigger: 'blur'}"
  >
   <Input
   v-model="item.WorkDesc"
   type="textarea"
   :autosize="{minRows: 5,maxRows: 10}"
   placeholder="输入作业过程描述..."
   />
  </FormItem>
  <FormItem style="width:80%;" label="作业顺序:">
   <!-- :rules="ruleWorkSort" -->
   <Input v-model.trim="item.WorkSort" placeholder="作业顺序" />
  </FormItem>
  <Divider dashed />
  </li>
  </ul>

  <FormItem>
  <Row>
  <Col span="8">
   <Button type="dashed" long @click="handleAttrAdd" icon="md-add">增加属性</Button>
  </Col>
  </Row>
  </FormItem>
  <FormItem>
  <Button type="primary" @click="handleAttrSubmit('capsuleAttr')">保存</Button>
  <Button @click="$router.go( -1)" style="margin-left: 8px">返回</Button>
  </FormItem>
  </Form>
</template>

JS代码

<script>
export default {
 data () {
 return {
 capsuleAttr: {
 // 胶囊属性
 index: 1,
 attrList: [
  {
  AttrName: '',
  Temperature: '',
  Volume: '',
  CapsuleId: '', // 属性ID
  RcommendVolume: '', // 推荐流量
  WorkDesc: '',
  Blow: '', // 吹气时间
  Soak: '', // 浸泡时间
  WorkSort: '',
  index: 1,
  status: 1
  }
 ]
 }
 }
 },
 method: {
 // 添加属性
 handleAttrAdd () {
 this.capsuleAttr.index++
 this.capsuleAttr.attrList.push({
 AttrName: '',
 Temperature: '',
 Volume: '',
 WorkDesc: '',
 WorkSort: '',
 RcommendVolume: '', // 推荐流量
 Blow: '', // 吹气时间
 Soak: '', // 浸泡时间
 index: this.capsuleAttr.index,
 status: 1
 })
 },
 handleRemove (item, index) {
 console.log(item.Id)
 if (item.Id) {
 this.$Modal.confirm({
  title: '删除本条记录',
  onOk: () => {
  ProductModule.getCapsuleAttributeDel(item.Id).then(res => {
  if (res.data.Success) {
  this.capsuleAttr.attrList[index].status = 0
  this.$Message.success('删除成功')
  }
  })
  },
  onCancel: () => {
  console.log('onCancel')
  }
 })
 return
 }
 this.capsuleAttr.attrList[index].status = 0
 },
 // 胶囊属性保存新增
 handleAttrSubmit (name) {
 this.$refs[name].validate(valid => {
 if (valid) {
  if (this.userId) {
  this.getCapsuleAttrEditAdd()
  } else {
  if (this.capsuleId) {
  this.getSaveAttrCreate()
  } else {
  this.$Message.error('请先保存胶囊数据')
  }
  }
 } else {
  this.$Message.error('保存失败!')
 }
 })
 }
 }

}
</script>

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

更多vue学习教程请阅读专题《vue实战教程》

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
刷新时清空文本框内容的js代码
Apr 23 Javascript
用javascript做拖动布局的思路
May 31 Javascript
jquery select(列表)的操作(取值/赋值)
Aug 06 Javascript
有关于eclipse配置spket需要注意的一些地方
Apr 07 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
Nov 27 Javascript
JavaScript继承学习笔记【新手必看】
May 10 Javascript
javascript 小数乘法结果错误的处理方法
Jul 28 Javascript
JavaScript动态绑定详解
Sep 14 Javascript
javascript流程控制语句集合
Sep 18 Javascript
尝试自己动手用react来写一个分页组件(小结)
Feb 09 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
Apr 16 Javascript
基于javascript实现贪吃蛇经典小游戏
Apr 10 Javascript
vue iview实现动态新增和删除
Jun 17 #Javascript
vue如何搭建多页面多系统应用
Jun 17 #Javascript
vue2.0实现列表数据增加和删除
Jun 17 #Javascript
使用next.js开发网址缩短服务的方法
Jun 17 #Javascript
vue实现前端分页完整代码
Jun 17 #Javascript
JS实现网站楼层导航效果代码实例
Jun 16 #Javascript
利用webpack理解CommonJS和ES Modules的差异区别
Jun 16 #Javascript
You might like
PHP 文件上传源码分析(RFC1867)
2009/10/30 PHP
php调用nginx的mod_zip模块打包ZIP文件
2014/06/11 PHP
destoon之一键登录设置
2014/06/21 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
JQuery 学习笔记 选择器之六
2009/07/23 Javascript
Javascript UrlDecode函数代码
2010/01/09 Javascript
jquery 笔记 事件
2011/11/02 Javascript
jquery 操作DOM案例代码分享
2012/04/05 Javascript
Js获取数组最大和最小值示例代码
2013/10/29 Javascript
jquery选择checked在ie8普通模式下的问题
2014/02/12 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
js 操作符汇总
2014/11/08 Javascript
基于JavaScript实现一定时间后去执行一个函数
2015/12/14 Javascript
如何制作幻灯片(代码分享)
2017/01/06 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
通过实例解析json与jsonp原理及使用方法
2020/09/27 Javascript
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
Python创建一个元素都为0的列表实例
2019/11/28 Python
Python ini文件常用操作方法解析
2020/04/26 Python
VSCode配合pipenv搞定虚拟环境的实现方法
2020/05/17 Python
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
工伤事故证明
2014/10/20 职场文书
父亲节寄语大全
2015/02/27 职场文书
大学生个人简历自我评价
2015/03/11 职场文书
捐书仪式主持词
2015/07/04 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
Nginx反向代理配置的全过程记录
2021/06/22 Servers
SQL Server中使用表变量和临时表
2022/05/20 SQL Server