vue iview实现动态新增和删除


Posted in Javascript onJune 17, 2020

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

<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:50%;"
   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:1%;">
   <Button @click="handleRemove(item,index)" type="error" icon="md-close">删除</Button>
   </Col>
  </FormItem>
  <FormItem
   style="width:20%;"
   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:20%;"
   label="流量:"
   :prop="'attrList.' + index + '.Volume'"
   :rules="{required: true, message: '流量不能为空', trigger: 'blur'}"
  >
   <Input v-model.trim="item.Volume" placeholder="流量" />
  </FormItem>
  <FormItem label="推荐流量:" style="width:20%;">
   <Input v-model.trim="item.RcommendVolume" placeholder="流量" />
  </FormItem>
  <FormItem label="吹气时间:" style="width:20%;">
   <Input v-model.trim="item.Blow" placeholder="吹气时间" />
  </FormItem>
  <FormItem label="浸泡时间:" style="width:20%;">
   <Input v-model.trim="item.Soak" placeholder="浸泡时间" />
  </FormItem>
 
  <FormItem
   label="作业过程描述:"
   style="width:40%;"
   :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:20%;" 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>

data:

capsuleAttr: {
 //胶囊属性
 index: 1,
 attrList: [
  {
  AttrName: "",
  Temperature: "",
  Volume: "",
  CapsuleId: "", //属性ID
  RcommendVolume: "", //推荐流量
  WorkDesc: "",
  Blow: "", //吹气时间
  Soak: "", //浸泡时间
  WorkSort: "",
  index: 1,
  status: 1
  }
 ]
 },

methods:

// 添加属性
 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("保存失败!");
 }
 });
 },

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

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

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

Javascript 相关文章推荐
Prototype 学习 工具函数学习($w,$F方法)
Jul 12 Javascript
jquery中eq和get的区别与使用方法
Apr 14 Javascript
javascript复制对象使用说明
Jun 28 Javascript
javascript中的注释使用与注意事项小结
Sep 20 Javascript
Javascript拓展String方法小结
Jul 08 Javascript
javascript实现playfair和hill密码算法
Dec 07 Javascript
AngularJs  Using $location详解及示例代码
Sep 02 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
Nov 07 Javascript
浅谈javascript中执行环境(作用域)与作用域链
Dec 08 Javascript
JS实现自定义状态栏动画文字效果示例
Oct 12 Javascript
JointJS流程图的绘制方法
Dec 03 Javascript
js核心基础之闭包的应用实例分析
May 11 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
JS 5种遍历对象的方式
Jun 16 #Javascript
You might like
咖啡的种类和口感
2021/03/03 新手入门
PHP开发中的错误收集,不定期更新。
2011/02/03 PHP
简单谈谈favicon
2015/06/10 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
浅谈php调用python文件
2019/03/29 PHP
javascript date格式化示例
2013/09/25 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
2013/10/14 Javascript
js时间比较示例分享(日期比较)
2014/03/05 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
2016/04/19 Javascript
html中鼠标滚轮事件onmousewheel的处理方法
2016/11/11 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
2017/11/03 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
JQuery表单元素取值赋值方法总结
2020/05/12 jQuery
antd-日历组件,前后禁止选择,只能选中间一部分的实例
2020/10/29 Javascript
python中使用%与.format格式化文本方法解析
2017/12/27 Python
解决pycharm 误删掉项目文件的处理方法
2018/10/22 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
Django admin组件的使用
2020/10/24 Python
Django框架实现在线考试系统的示例代码
2020/11/30 Python
python xlsxwriter模块的使用
2020/12/24 Python
CSS3 简写animation
2012/05/10 HTML / CSS
HTML5: Web 标准最巨大的飞跃
2008/10/17 HTML / CSS
一款利用html5和css3动画排列人物头像的实例演示
2014/12/05 HTML / CSS
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
学校岗位设置方案
2014/01/16 职场文书
小学优秀辅导员事迹材料
2014/05/11 职场文书
厕所文明标语
2014/06/11 职场文书
医疗纠纷调解协议书
2015/08/06 职场文书
选对餐饮营销策略,营业额才会上涨
2019/08/27 职场文书
Nginx快速入门教程
2021/03/31 Servers
golang中的struct操作
2021/11/11 Golang