uni-app APP端-返回上一页(非tabbar页面)时,input 无法输入

uni-app APP端-返回上一页(非tabbar页面)时,input 无法输入

5 回复

是否为相同问题,请查看:https://ask.dcloud.net.cn/question/136394

更多关于uni-app APP端-返回上一页(非tabbar页面)时,input 无法输入的实战教程也可以访问 https://www.itying.com/category-93-b0.html


感觉是同一类问题

升级至最新HBuilder X 3.3.2-alpha试下

嗯嗯,可以了,谢谢呢

在 uni-app 的 APP 端,从非 tabbar 页面返回上一页时出现 input 无法输入的问题,通常是由于页面生命周期和焦点管理机制导致的。以下是可能的原因及解决方案:

  1. 页面生命周期影响:返回上一页时,页面可能未正确重新激活,导致 input 组件无法获取焦点。

    • 尝试在 onShow 生命周期中调用 this.$nextTick 来确保 DOM 更新后 input 可正常交互。
    • 示例代码:
      onShow() {
        this.$nextTick(() => {
          // 可在此处尝试重新聚焦 input
        });
      }
      
  2. input 组件被遮挡或禁用

    • 检查返回后页面布局是否有变化(如弹窗、遮罩层未关闭),遮挡了 input。
    • 确认 input 的 disabledreadonly 属性未在返回时被误修改。
  3. 焦点管理问题

    • 在返回后的页面中,尝试通过 uni.createSelectorQuery() 获取 input 并手动调用 focus() 方法。
    • 示例:
      setTimeout(() => {
        const input = uni.createSelectorQuery().select('#inputId');
        input.focus();
      }, 100);
回到顶部