Angular中input自动获取焦点采坑

在Angular项目中,为了实现页面加载时input自动聚焦,原计划使用autofocus属性,但由于URL包含“#/login”导致自动聚焦失败。通过添加标签并使用isPlatformBrowser判断在浏览器环境中手动设置focus,成功解决问题。

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

坑的样子

为了用户体验,我想着用户打开页面时输入用户名的框自动得焦,于是我就直接在input框中加了autofocus属性,结果是这样的:

在这里插入图片描述


代码虽然是写了,但是input还是没有聚焦,而且控制台还报了一句话

在这里插入图片描述

大概意思是 因为文档的URL有一个片段“#/login”,所以自动对焦处理被阻止 纳尼!!!


填坑中

既然自动获取焦点行不通,那就自己手动来吧,先给input打上标签

在这里插入图片描述


接着就拿到这个标签再把input的focus激活试试?试试就试试!

在这里插入图片描述


代码中的 isPlatformBrowser 来判断当前平台是浏览器还是服务器(服务器渲染运行在 Node 环境中)

在这里插入图片描述

结果还真的可以,希望能够帮助到需要的同志吧。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值