uni-app ios小程序端官方示例Popup刚进入页面时会自动弹出输入框

uni-app ios小程序端官方示例Popup刚进入页面时会自动弹出输入框

类别 信息
产品分类 uniapp/小程序/微信
PC开发环境 Windows
HBuilderX 正式
版本号 3.4.8
项目创建方式 HBuilderX

操作步骤:

【报Bug】ios小程序端,官方示例中Popup刚进入页面时会自动弹出输入框

预期结果:

【报Bug】ios小程序端,官方示例中Popup刚进入页面时会自动弹出输入框

实际结果:

【报Bug】ios小程序端,官方示例中Popup刚进入页面时会自动弹出输入框

bug描述:

如题


更多关于uni-app ios小程序端官方示例Popup刚进入页面时会自动弹出输入框的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

如图所示,是自动弹出来的

更多关于uni-app ios小程序端官方示例Popup刚进入页面时会自动弹出输入框的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个是怎么回事啊, 有没有解决办法

有解决方法吗?我也遇到了

uni-app 中,如果你在 iOS 小程序端使用 Popup 组件时,发现页面刚进入时输入框自动弹出,这通常是由于 Popup 组件的 autoFocus 属性默认设置为 true,或者你在代码中手动设置了 autoFocustrue

解决方法

  1. 检查 autoFocus 属性: 确保你没有在 Popup 组件中设置 autoFocustrue。如果设置了,可以将其改为 false

    <uni-popup ref="popup" :autoFocus="false">
      <input type="text" placeholder="请输入内容" />
    </uni-popup>
    
  2. 手动控制弹出: 如果你希望在页面加载时不自动弹出 Popup,可以在 mountedonLoad 生命周期钩子中手动控制 Popup 的显示。

    <template>
      <view>
        <uni-popup ref="popup">
          <input type="text" placeholder="请输入内容" />
        </uni-popup>
      </view>
    </template>
    
    <script>
    export default {
      mounted() {
        // 手动控制 Popup 的显示
        this.$refs.popup.close();
      },
      methods: {
        showPopup() {
          this.$refs.popup.open();
        }
      }
    }
    </script>
    
  3. 使用 v-if 控制 Popup 的渲染: 你可以使用 v-if 来控制 Popup 组件的渲染,确保在页面加载时不渲染 Popup

    <template>
      <view>
        <button @click="showPopup">显示 Popup</button>
        <uni-popup ref="popup" v-if="isPopupVisible">
          <input type="text" placeholder="请输入内容" />
        </uni-popup>
      </view>
    </template>
    
    <script>
    export default {
      data() {
        return {
          isPopupVisible: false
        };
      },
      methods: {
        showPopup() {
          this.isPopupVisible = true;
          this.$nextTick(() => {
            this.$refs.popup.open();
          });
        }
      }
    }
    </script>
回到顶部