vue.js实现了一个页面:有个table,顶上有“编辑、添加”按钮,怎么实现二者共用窗体,在来回切中不出bug

anj3 2019-06-02 07:54:35
使用vue.js开发中遇到这样问题:table的行“编辑”和“添加”是一个窗口。因为选中行的rowObject对象有双向绑定机制在里面干扰,造成了我欲选中一行进行编辑,但是我又关闭窗口点了添加,此时添加窗口也有内容。这个怎么规避啊。
...全文
665 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱吃排骨 2019-10-21
  • 打赏
  • 举报
回复
大佬牛B啊啊啊
anj3 2019-06-03
  • 打赏
  • 举报
回复
置空方法可改更简单版:

  //表单的每项置空
  public Reset() {
    for (let key in this.currentRow) {
      this.currentRow[key]='';      
    } 
  }
ღ简单 2019-06-03
  • 打赏
  • 举报
回复
给个小建议,只需要在点击事件里头,先加个清除,每次点击都会清除掉之前的。
anj3 2019-06-03
  • 打赏
  • 举报
回复
问题解决了 ,方便其他网友参考。思路是通过中间变量。贴出代码Typescript代码如下:

currentRow: any = null;//行对象(从页面传来)
rowTemp: any = null;//行对象(中间变量,用于在编辑和添加来回反复切时)
currentRow: string='';//下拉框 默认值

public EditOrAddWindow(currentRow: any, wTitle: string, cName: string, conNameList: any) {
	this.winTitle = wTitle;//窗体标题
	this.conName = cName;//下拉默认值
	this.currentRow = currentRow;
	this.conNames = conNameList;//下拉 list
	if (wTitle == '添加') {
	  if (this.currentRow.Id != ""){ //currentRow有数据时才赋给rowTemp
		this.rowTemp = JSON.parse(JSON.stringify(this.currentRow));
	  }
	  this.Reset();
	} else if (wTitle == '编辑' && this.currentRow.Id == "") {//编辑窗体 且 currentRow无内容时
		this.currentRow = JSON.parse(JSON.stringify(this.rowTemp));
	}
}


//表单的每项置空
public Reset() {
	this.currentRow.Id="";//表PK 用它来判断currentRow是否为空
	this.currentRow.DictName = "";
	this.currentRow.DictAge = "";
	this.currentRow.Title = "";
}
讨厌走开啦 2019-06-03
  • 打赏
  • 举报
回复
使用v-for遍历的时候指定key,否则vue会复用元素(在你这里表现的就是切换了以后元素内的信息被保留了)。
anj3 2019-06-02
  • 打赏
  • 举报
回复
选择一行后,你不断地来回切就会发现有bug
河南棒小伙 2019-06-02
  • 打赏
  • 举报
回复
很好解决啊,我假设你的table是父组件,弹窗是子组件,然后子组件的展示内容是父组件通过prop属性传进去的,那么,你点编辑和点添加肯定不是同一个事件的,在不同的事件里,让弹窗弹出之前改变要传递的prop属性的值就好了,要添加时,就把之前要传递的属性数据清空不就行了?编辑时,传递的table的rowObject,这有什么矛盾呢?
内容概要:本文围绕双机并联虚拟同步发电机(VSG)在微电网中的功率分配、黑启动及预同步控制展开深入研究,重点提出了一种结合惯量与阻尼协同自适应控制的策略,以提升微电网在孤岛与并网模式下的频率稳定性及动态响应性能。通过Simulink搭建双VSG并联系统仿真模型,系统实现了有功/无功功率均分、微电网黑启动过程模拟、并网前的预同步控制,并引入虚拟阻抗技术以优化环流抑制。研究涵盖控制策略设计、系统建模、参数整定与仿真验证全过程,旨在增强微电网运行的可靠性、稳定性和自主恢复能力。; 适合人群:具备电力系统、微电网、电力电子及自动控制等相关专业知识,从事新能源发电、分布式能源系统、VSG控制技术等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握双机VSG并联系统的建模与仿真方法;②深入理解微电网黑启动机制与预同步控制的实现流程;③研究VSG惯量-阻尼自适应调控对系统频率稳定性和动态性能的影响;④为构网型储能、微电网能量管理系统及VSG控制器的设计与优化提供可靠的仿真验证平台。; 阅读建议:建议结合Simulink仿真模型同步学习,重点关注VSG控制环路、虚拟阻抗设计及预同步逻辑的实现细节;在复现过程中应逐步调试各功能模块,理解黑启动与预同步的时序逻辑,并通过改变负载、线路参数或初始频率偏差等方式验证系统的鲁棒性与适应性。

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧