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 相关文章推荐
Ext对基本类型的扩展 ext,extjs,format
Dec 25 Javascript
js控制web打印(局部打印)方法整理
May 29 Javascript
angular.element方法汇总
Jan 07 Javascript
js ajaxfileupload.js上传报错的解决方法
May 05 Javascript
BootStrap入门教程(三)之响应式原理
Sep 19 Javascript
Bootstrap table使用方法汇总
Nov 17 Javascript
react-native 圆弧拖动进度条实现的示例代码
Apr 12 Javascript
解决angularjs service中依赖注入$scope报错的问题
Oct 02 Javascript
vue实现的网易云音乐在线播放和下载功能案例
Feb 18 Javascript
js canvas实现5张图片合成一张图片
Jul 15 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
Sep 26 Javascript
react antd实现动态增减表单
Jun 03 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
长波有什么东西
2021/03/01 无线电
PHP积分兑换接口实例
2015/02/09 PHP
PHP加密解密函数详解
2015/10/28 PHP
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
JS小功能(列表页面隔行变色)简单实现
2013/11/28 Javascript
将list转换为json失败的原因
2013/12/17 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
jQuery获取当前点击的对象元素(实现代码)
2016/05/19 Javascript
jquery基本选择器匹配多个元素的实现方法
2016/09/05 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
JS获取url参数,JS发送json格式的POST请求方法
2018/03/29 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
深入解析Python中的线程同步方法
2016/06/14 Python
Python实现的双色球生成功能示例
2017/12/18 Python
Python实现螺旋矩阵的填充算法示例
2017/12/28 Python
Python3 tkinter 实现文件读取及保存功能
2019/09/12 Python
导入tensorflow时报错:cannot import name 'abs'的解决
2019/10/10 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
3种适用于Python的疯狂秘密武器及原因解析
2020/04/29 Python
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
以色列的身体护理及家居香薰品牌:Sabon NYC
2018/02/23 全球购物
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
护理专业推荐信
2013/11/07 职场文书
体育教师自我鉴定
2014/02/12 职场文书
会计岗位描述
2014/02/22 职场文书
电工工作职责范本
2014/02/22 职场文书
挂靠协议书范本
2014/04/22 职场文书
小学竞选班干部演讲稿
2014/08/20 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
新员工入职欢迎词
2015/01/23 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书