主要功能是带有input的列表,可以添加和删除:
添加时new一个实例push进数组:
const ruleDetail = new RuleDetailsParams();
this.params.rule_detail.push(ruleDetail);
删除就splice目标index。
但是每次删除再添加,上一个 input 填好的值就会消失。
分析后发现,原来input的 name我用的是 字符串+index 来避免name重复的问题,但是每次执行删除操作后,index就会改变,导致input的name变了,解决办法是,在实例里为 name 新加一个字段,为了避免重复,id = Math.random().toString() + Math.random().toString();
用两个随机数拼接。
在接口传参的时候,再把这个字段删除,从而解决了问题。
以前没遇到过这个问题,做个记录。