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 相关文章推荐
获取网站跟路径的javascript代码(站点及虚拟目录)
Oct 20 Javascript
JS实现图片横向滚动效果示例代码
Sep 04 Javascript
jQuery中校验时间格式的正则表达式小结
Sep 22 Javascript
sails框架的学习指南
Dec 22 Javascript
Javascript实现跨域后台设置拦截的方法详解
Aug 04 Javascript
vue学习之mintui picker选择器实现省市二级联动示例
Oct 12 Javascript
浅谈ES6 模板字符串的具体使用方法
Nov 07 Javascript
vue中实现左右联动的效果
Jun 22 Javascript
vue 实现购物车总价计算
Nov 06 Javascript
vue中改变滚动条样式的方法
Mar 03 Javascript
js的Object.assign用法示例分析
Mar 05 Javascript
vue data有值,但是页面{{}} 取不到值的解决
Nov 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
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
C#静态方法与非静态方法实例分析
2014/09/22 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
IE8 兼容性问题(属性名区分大小写)
2009/06/04 Javascript
javascript数组快速打乱重排的方法
2014/01/02 Javascript
Jquery实现由下向上展开效果的例子
2014/12/08 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
在 webpack 中使用 ECharts的实例详解
2018/02/05 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
2018/09/27 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
详解解决小程序中webview页面多层history返回问题
2019/08/20 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
[02:13] 完美世界DOTA2联赛PWL DAY5集锦
2020/11/03 DOTA
Python中设置变量访问权限的方法
2015/04/27 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
python使用jieba实现中文分词去停用词方法示例
2018/03/11 Python
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
如何在python中实现线性回归
2020/08/10 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
食品厂厂长岗位职责
2014/01/30 职场文书
财务担保书范文
2014/04/02 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
办公室主任个人总结
2015/02/28 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
卖车协议书范文
2016/03/23 职场文书
MySQL如何解决幻读问题
2021/08/07 MySQL