当前位置: 首页 > article >正文

v-model响应式数据失效(能打印出来,但不渲染响应新数据)出现在异步操作或动态添加属性时赋值,使用 this.$set:

问题描述:

今天出现一个问题,业务是有一个身份证码输入框:

当光标移出这个输入框后,需要拿这个证件号去库里查到用户信息,如果用户表里有用户信息,就把下面待输入的名字、电话号码输入框进行预填入。

身份证输入框代码如下:这里可以给这个输入框注册一个光标移出事件handleNewUserBlur

<el-form-item label="用户证件号码" prop="newCarownerIdcard">
              <el-input v-model="form.newCarownerIdcard" placeholder="请输入用户证件号码"
                        @blur="handleNewUserBlur"/>
</el-form-item>

 methods里面写:

newUserPhone(event) {
        //在这里处理光标移出事件的逻辑
        const idCard=this.form.newUserIdcard;
        console.log('用户证件号码输入框光标移出,idCard为--->'+idCard);
        if(!idCard){
          return;
        }
        // 用证件号带出的新用户信息数据
        getUserByIdcard(idCard).then(response => {
            const newUser = response.data;
            if(newUser){
              this.form.newUserName=newUser.name;
              this.form.newUserPhone=newUser.phone;
              console.log('查到新用户姓名newUserName--->'+this.form.newUserName);
              console.log('查到新用户电话newUserPhone--->'+this.form.newUserPhone);
            }else{
              console.log('未查到新用户');
            }
          }
        );
      },

这里两句打印明明已经可以输出form里面的数据了,但输入框却不做响应式处理 

解决办法:

因为这是在异步操作或动态添加属性时赋值,所以可以尝试用.$set来赋值

代码:

 newUserPhone(event) {
        //在这里处理光标移出事件的逻辑
        const idCard=this.form.newUserIdcard;
        console.log('用户证件号码输入框光标移出,idCard为--->'+idCard);
        if(!idCard){
          return;
        }
        // 用证件号带出的新用户信息数据
        getUserByIdcard(idCard).then(response => {
            const newUser = response.data;
            if(newUser){
              //this.form.newUserName=newUser.name;            
              this.$set(this.form, 'newUserName', newUser.name);
              //this.form.newUserPhone=newUser.phone;
              this.$set(this.form, 'newUserPhone', newUser.phone);
              console.log('查到新用户姓名newUserName--->'+this.form.newUserName);
              console.log('查到新用户电话newUserPhone--->'+this.form.newUserPhone);
            }else{
              console.log('未查到新用户');
            }
          }
        );
      },


http://www.kler.cn/a/465246.html

相关文章:

  • 单片机-串转并-74HC595芯片
  • springmvc--请求参数的绑定
  • 认识一下,轻量消息推送 Server-Sent Events
  • QML自定义进度条和单选按钮的样式
  • Spring Boot 3 实现 MySQL 主从数据库之间的数据同步
  • RK3588+FPGA全国产异步LED显示屏控制卡/屏幕拼接解决方案
  • 比亚迪30亿教育慈善基金正式启动,助推中国科教进步
  • Go 如何优雅退出进程
  • mysql之组内排序ROW_NUMBER()函数
  • Agent系列:AppAgent v2-屏幕智能Agent(详解版)
  • Ajax数据爬取
  • 定制级安全重保方案,确保重大活动期间的网络安全无忧
  • Tailwind CSS:现代 CSS 框架的优雅之选
  • redis的集群模式与ELK基础
  • STM32传感器系列:GPS定位模块
  • 活动预告 |【Part1】Microsoft Azure 在线技术公开课:使用 Azure DevOps 和 GitHub 加速开发
  • spring中使用@Validated,什么是JSR 303数据校验,spring boot中怎么使用数据校验
  • 【行空板K10】MQTT服务器SIoT V2
  • LeetCode - 初级算法 数组(旋转数组)
  • Vue.js组件开发-如何动态设置下拉框数值
  • 使用Python和OpenCV进行视觉图像分割
  • ASP.NET CORE 依赖注入的三种方式,分别是什么,使用场景
  • GitLab集成Runner详细版--及注意事项汇总【最佳实践】
  • vue + iview inputNumber最大最小值限制问题
  • windows remote desktop service 远程桌面RDS授权激活
  • 智能水文:ChatGPT等大语言模型如何提升水资源分析和模型优化的效率