Vue2.0开发之——ref引用实例-文本框和按钮的按需展示(42)

news2024/11/23 7:37:12

一 概述

  • 文本框和按钮按需展示功能实现
  • 了解this.$nextTick的应用场景
  • updated为啥不行

二 文本框和按钮按需展示功能实现

2.1 布局文件

<template>
  <div class="app-container">

    <input type="text" v-if="inputVisible" @blur="showButton">
    <button v-else @click="showInput">展示输入框</button>

  </div>
</template>

2.2 逻辑文件

export default {
  methods:{
    showInput(){
      this.inputVisible=true
    },
    showButton(){
      this.inputVisible=false
    }
  },
  data() {
    return {
      //控制输入框和按钮的按需切换;
      //默认值为false,表示默认展示按钮,隐藏输入框
      inputVisible: false
    }
  },

}

2.3 效果图

三 了解this.$nextTick的应用场景

3.1 当文本框显示时,自动获取焦点

布局文件(给input添加ref属性)

<input type="text" v-if="inputVisible" @blur="showButton" ref="iptRef">
<button v-else @click="showInput">展示输入框</button>

代码文件(input添加focus方法)

showInput(){
    //1.切换布尔值,把文本框显示出来
     this.inputVisible=true
     //2.让展示出来的文本框,自动获取焦点
     this.$refs.iptRef.focus()
 },

结果

vue.runtime.esm.js?c320:4605 [Vue warn]: Error in v-on handler: "TypeError: Cannot read properties of undefined (reading 'focus')"

found in

---> <App> at src/App.vue
       <Root>
vue.runtime.esm.js?c320:3049 TypeError: Cannot read properties of undefined (reading 'focus')
    at VueComponent.showInput (App.vue?11c4:41:1)
    at invokeWithErrorHandling (vue.runtime.esm.js?c320:3017:1)
    at HTMLButtonElement.invoker (vue.runtime.esm.js?c320:1815:1)
    at original_1._wrapper (vue.runtime.esm.js?c320:7473:1)

原因:

iptRef为空,导致focus方法出错

3.2 this.$nextTick(cb) 方法

组件的 $nextTick(cb) 方法,会把 cb 回调推迟到下一个 DOM 更新周期之后执行。通俗的理解是:等组件的
DOM 更新完成之后,再执行 cb 回调函数。从而能保证 cb 回调函数可以操作到最新的 DOM 元素

3.3 使用this.$nextTick(cb) 方法修改后

代码

showInput(){
      //1.切换布尔值,把文本框显示出来
      this.inputVisible=true
      //2.让展示出来的文本框,自动获取焦点
      this.$nextTick(()=>{
        this.$refs.iptRef.focus()
      })
    }

四 updated为啥不行

4.1 updated修改

updated(){
    this.$refs.iptRef.focus()
  },

4.2 现象

创建时正常,销毁时出错,错误现象如下:

vue.runtime.esm.js?c320:4605 [Vue warn]: Error in updated hook: "TypeError: Cannot read properties of undefined (reading 'focus')"

found in

---> <App> at src/App.vue

4.3 原因

  • 第一次(创建时),input展示获取焦点—正常
  • 第二次(销毁时),input不展示,又获取焦点—失败

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/378313.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ffmpeg多路同时推流

一、ffmpeg常见使用方法1.1利用FFMPEG命令进行文件分割1.2转换格式1.3推流配置方法一&#xff1a;ngnix&#xff08;不推荐&#xff0c;推流不好使&#xff09;方法二&#xff1a;srs&#xff08;强烈推荐&#xff09;1.4查看nginx启动是否成功二、ffmpeg推流——>ngnix单路…

Shell高级——Linux中的文件描述符(本质是数组的下标)

以下内容源于C语言中文网的学习与整理&#xff0c;非原创&#xff0c;如有侵权请告知删除。 前言 Linux中一切接文件&#xff0c;比如 C 源文件、视频文件、Shell脚本、可执行文件等&#xff0c;就连键盘、显示器、鼠标等硬件设备也都是文件。 一个 Linux 进程可以打开成百上…

【项目管理PMP备考】PMP到底学习什么?

学习PMP的过程其实就是了解这样一种先进的管理思想、理念、方法&#xff0c;也就是学习新文化。PMP考试就是考核你对PMP管理规则、流程、方法的掌握程度&#xff0c;因此他要考察的内容一定是项目管理的要素&#xff0c;而且也一定是偏向与考核你对这种新文化的理解程度。我们如…

基于OMAPL138+FPGA核心板多核软件开发组件MCSDK开发入门(下)

本文测试板卡为创龙科技 SOM-TL138F 是一款基于 TI OMAP-L138(定点/浮点 DSP C674x + ARM9)+ 紫光同创 Logos/Xilinx Spartan-6 低功耗 FPGA 处理器设计的工业级核心板。核心板内部OMAP-L138 与 Logos/Spartan-6 通过 uPP、EMIFA、I2C 通信总线连接,并通过工业级 B2B连接器引…

图观 | ChatGTP是如何通过知识图谱回答问题的?

文/Emma Z1950年&#xff0c;图灵发表了具有里程碑意义的论文《计算机器与智能》&#xff08;Computing Machinery and Intelligence&#xff09;&#xff0c;提出了一个关于机器人的著名判断原则——图灵测试&#xff0c;也被称为图灵判断&#xff0c;它指出如果第三者无法辨别…

Nacos的安装指南

1.Windows安装开发阶段采用单机安装即可。1.1.下载安装包在Nacos的GitHub页面&#xff0c;提供有下载链接&#xff0c;可以下载编译好的Nacos服务端或者源代码&#xff1a;GitHub主页&#xff1a;https://github.com/alibaba/nacosGitHub的Release下载页&#xff1a;https://gi…

JAVA线程池原理详解一

JAVA线程池原理详解一 一. 线程池的优点 线程是稀缺资源&#xff0c;使用线程池可以减少创建和销毁线程的次数&#xff0c;每个工作线程都可以重复使用。可以根据系统的承受能力&#xff0c;调整线程池中工作线程的数量&#xff0c;防止因为消耗过多内存导致服务器崩溃。 二…

Mysql索引优化解决方案

一、索引介绍 1、什么是索引 索引就是帮助mysql高效获取数据的数据结构 mysql 除了存储数据&#xff0c;还有数据结构&#xff0c;我们可以通过数据结构的查找算法快速找到数据&#xff0c;这种数据结构就是索引。类似于 字典中的目录&#xff0c;帮助我们快速查找数据。 2、…

Netty核心组件EventLoop源码解析

源码解析目标 分析最核心组件EventLoop在Netty运行过程中所参与的事情&#xff0c;以及具体实现 源码解析 依然用netty包example下Echo目录下的案例代码&#xff0c;单我们写一个NettyServer时候&#xff0c;第一句话就是 EventLoopGroup bossGroup new NioEventLoopGroup(…

html2canvas将页面dom元素内容渲染成图片保存至本地

html2canvas:https://html2canvas.hertzen.com/configuration/ github:https://github.com/niklasvh/html2canvas 效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compa…

VR直播丨颠覆性技术革命,新型直播已经到来

细数当下最火热的营销手段&#xff0c;首先浮现脑海的无疑是“直播”。前有罗永浩、李佳琦&#xff0c;后有刘畊宏和东方甄选&#xff0c;直播如日中天&#xff0c;俨然成了大众足不出户就能休闲娱乐的重要途径。 而随着虚拟现实在“十四五规划”中被列入“建设数字中国”数字…

一文了解GPU并行计算CUDA

了解GPU并行计算CUDA一、CUDA和GPU简介二、GPU工作原理与结构2.1、基础GPU架构2.2、GPU编程模型2.3、软件和硬件的对应关系三、GPU应用领域四、GPUCPU异构计算五、MPI与CUDA的区别一、CUDA和GPU简介 CUDA&#xff08;Compute Unified Device Architecture&#xff09;&#xf…

Java 常用 API

文章目录一、Math二、System三、Object1. toString() 方法2. equals() 方法四、Arrays1. 冒泡排序2. Arrays 常用方法五、基本类型包装类1. Integer2. int 和 String 相互转换3. 字符串中数据排序4. 自动装箱和拆箱六、日期类1. Date2. SimpleDateFormat3. Calendar4. 二月天一…

(四十七)大白话表锁和行锁互相之间的关系以及互斥规则是什么呢?

今天我们接着讲&#xff0c;MySQL里是如何加表锁的。这个MySQL的表锁&#xff0c;其实是极为鸡肋的一个东西&#xff0c;几乎一般很少会用到&#xff0c;表锁分为两种&#xff0c;一种就是表锁&#xff0c;一种是表级的意向锁&#xff0c;我们分别来看看。 首先说表锁&#xf…

如何使用Arsenal快速部署功能强大的Bug Bounty工具

关于Arsenal Arsenal是一个功能强大且使用简单的Shell脚本&#xff08;Bash&#xff09;&#xff0c;该工具专为漏洞赏金猎人设计&#xff0c;在该工具的帮助下&#xff0c;我们可以轻松在自己环境中安装并部署目前社区中功能最为强大的网络侦查工具、漏洞扫描工具和其他安全研…

企业活动直播如何设置VIP观看席?

阿酷tony / 2023-2-28 / 长沙 / 多图内容企业活动直播如何设置VIP观看席&#xff1f;有意思吧&#xff0c;直播也能设vip席位。在直播间可以分设尊享嘉宾席、特邀VIP以及观众席三个区域&#xff0c;为企业提供多种用户接待模式&#xff0c;不仅能为嘉宾营造尊享VIP体验&#xf…

Git学习(1)pro git阅读

目录 目录&#xff1a; 1. 起步 2. Git 基础 3. Git 分支 4. 服务器上的 Git 5. 分布式 Git 第一章 1.3 Git是什么 1.6运行git前的配置 该开源图书网站 Git - Book (git-scm.com) 目录&#xff1a; 1. 起步 1.1 关于版本控制1.2 Git 简史1.3 Git 是什么&#xff1f;1…

Fedora系统安装KubeVela

话不多说直接看命令 Docker安装 Vela安装需要先安装Docker sudo yum -y install docker只需这行命令便可以自动添加 yum和dnf理论上都能成功&#xff0c;但是很看网速&#xff0c;&#xff0c;&#xff0c;实践证明yum是最好的。 如果发生报错mirrors trieds大概率就是网速超…

[oeasy]python0096_游戏娱乐行业_雅达利_米洛华_四人赛马_影视结合游戏

游戏娱乐行业 回忆上次内容 游戏机行业从无到有 雅达利 公司 一枝独秀并且带领 行业 发展起来 雅达利公司 优秀员工 乔布斯 在 朋友 帮助下完成了《pong》 Jobs 黑了 Woz 一部分收入 然后拿着钱 去印度禅修了 游戏行业 会如何继续 呢&#xff1f;?&#x1f914; 灵修 乔布…

常见损失函数Loss Function的选择(regression problem)

损失函数Loss Function的设计是机器学习模型的核心问题&#xff0c;一般情况下函数式子会分成两项&#xff1a;衡量预估值和目标间的差距、正则项式。其中正则项式子一般用于衡量模型的复杂度&#xff0c;可以避免模型过拟合&#xff08;奥卡姆剃刀原理&#xff09;。 另一部分…