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 相关文章推荐
jQuery淡入淡出元素让其效果更为生动
Sep 01 Javascript
js 通过cookie实现刷新不变化树形菜单
Oct 30 Javascript
jQuery中filter()方法用法实例
Jan 06 Javascript
关于JavaScript作用域你想知道的一切
Feb 04 Javascript
jquery+CSS3实现3D拖拽相册效果
Jul 18 Javascript
原生js实现倒计时--2018
Feb 21 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
Aug 31 Javascript
axios全局注册,设置token,以及全局设置url请求网段的方法
Sep 25 Javascript
javascript中的this作用域详解
Jul 15 Javascript
vue-simple-uploader上传成功之后的response获取代码
Sep 07 Javascript
vue $mount 和 el的区别说明
Sep 11 Javascript
五句话帮你轻松搞定js原型链
Dec 09 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
Terran魔法科技
2020/03/14 星际争霸
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
php中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
Drupal7中常用的数据库操作实例
2014/03/02 PHP
PHP输出Excel PHPExcel的方法
2018/07/26 PHP
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
js+cookies实现悬浮购物车的方法
2015/05/25 Javascript
用Move.js配合创建CSS3动画的入门指引
2015/07/22 Javascript
jquery控制显示服务器生成的图片流
2015/08/04 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
详解nodejs微信公众号开发——4.自动回复各种消息
2017/04/11 NodeJs
es6学习之解构时应该注意的点
2017/08/29 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
Vue拖拽组件开发实例详解
2018/05/11 Javascript
深入理解Antd-Select组件的用法
2020/02/25 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
python 对象和json互相转换方法
2018/03/22 Python
使用Python监控文件内容变化代码实例
2018/06/04 Python
python re模块的高级用法详解
2018/06/06 Python
Python 脚本获取ES 存储容量的实例
2018/12/27 Python
python pcm音频添加头转成Wav格式文件的方法
2019/01/09 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
2019/11/19 Python
浅谈Python中的生成器和迭代器
2020/06/19 Python
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
霸王洗发水广告词
2014/03/14 职场文书
技校毕业生自荐信
2014/06/03 职场文书
街道党工委党的群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
党员民主评议总结
2014/10/20 职场文书
小平小道观后感
2015/06/09 职场文书
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server