Vue3.0ElementPlus<input输入框自动获取焦点>


前言

记录一下自己最近开发vue3.0的小小问题~~
最近在做项目时,dialog弹框事件需定位input焦点,方便用户可直接输入。原理其实很简单,Element已经提供了focus方法,但是文档中并没有写明怎么调用。


一、input-focus事件?

官方文档介绍:
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
正确使用方式:在el-input标签上加入ref属性,然后在需要的地方直接调用方法即可;

二、使用步骤

1.给input 设置ref 属性

代码如下(示例):

<el-input ref="refInput" 
clearable maxlength="100" 
placeholder="请输入审批意见" 
style="width: auto"
type="textarea" 
v-model="state.bz"></el-input>

2.引入ref和nextTick

代码如下(示例):

import { ref,nextTick } from 'vue';
const refInput =ref()

3.在dialog打开事件中触发

代码如下(示例):

	const onOpenSp = (row) => {
			state.dialogFormVisiblse = true;
			nextTick(()=>{
				console.log("进入")
				refInput.value.focus()
			})
		};
Vue3中,要让el-input获取焦点,可以使用自定义指令来实现。根据引用\[3\]中的代码示例,你可以在directives中注册一个局部的自定义指令v-focus,并在mounted钩子函数中使用el.children\[0\].focus()来获取el-input内部的input元素,并使其获取焦点。这样,当el-input渲染完成后,input元素会自动获取焦点。 #### 引用[.reference_title] - *1* [Vue3.0ElementPlusinput输入框自动获取焦点>](https://blog.csdn.net/weixin_45684041/article/details/125276695)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Vue(ts) - ref & $refs 之el-input获取焦点](https://blog.csdn.net/qq_33242126/article/details/123929054)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【vue3】el-input获取焦点——el挂载:自定义指令,focus使 input 获取焦点(el-inputInput Methods...](https://blog.csdn.net/qinglingLS/article/details/117536589)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值