element-ui 输入框无法输入的问题

在Vue.js应用中,遇到input框校验规则的问题,需要后台提供特定字段以确保校验生效。原始代码通过直接赋值方式添加字段导致输入无法正常显示。原因是新添加的字段不具备响应性。解决方案是使用Vue的`this.$set`方法来确保字段响应式,从而修复了输入和回显的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

  1. input框的校验规则需要存在该字段才能校验 比如回显编辑的时候需要后台传该字段才能进行校验,这时候需要我们手动添加该字段
    代码
for (let i = 0; i < item.materialsPeApplyDetailsDTOS.length; i++) {
        //在原本的列表里添加该字段,防止input校验规则不生效
        item.materialsPeApplyDetailsDTOS[i].amountIn = 0;
        item.materialsPeApplyDetailsDTOS[i].rackno = 0;
        item.materialsPeApplyDetailsDTOS[i].materialno = 0;
  }
  1. 如果采用上诉方法 ,会发现你再输入的时候会输不进去,要触发别的选择或者输入方法时候才能回显

原因

  1. 由于我们刚补进去的字段还不是响应式的,所以输入失败

解决

  for (let i = 0; i < item.materialsPeApplyDetailsDTOS.length; i++) {
       
        //修改成这样既可生效
        this.$set(item.materialsPeApplyDetailsDTOS[i], 'amountIn', 0);
        this.$set(item.materialsPeApplyDetailsDTOS[i], 'materialno', 0);
        this.$set(item.materialsPeApplyDetailsDTOS[i], 'rackno', 0);
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值