1. uni-app 问题总结

1.1. input设置为disable,不能点击

1.1.1. 场景

  在开发中,我们经常会遇到需要禁用input框的情况,但是禁用后无法添加点击事件的问题。

         <!--从业情况-->
                <view class="base-form-item-layout">
                    <view class="base-form-item-mark">*</view>
                    <view class="base-form-item-title">从业情况:</view>
                    <picker @change="changePicker($event,'employmentSituation')"
                            :range="employmentSituationArr" range-key="dictValue">
                        <input class="base-form-item-input" disabled
                               v-model="formObj.employmentSituationLabel"
                               placeholder="请选择从业情况"/>
                    </picker>
                </view>

1.1.2. 解决方案

  在input框的父节点view中添加 style=“pointer-events:none” 即可。具体实现如下

         <!--从业情况-->
                <view class="base-form-item-layout">
                    <view class="base-form-item-mark">*</view>
                    <view class="base-form-item-title">从业情况:</view>
                    <picker @change="changePicker($event,'employmentSituation')"
                            :range="employmentSituationArr" range-key="dictValue">
                        <input class="base-form-item-input-click" style="pointer-events:none"
                               v-model="formObj.employmentSituationLabel"
                               placeholder="请选择从业情况"/>
                    </picker>
                </view>

在这里插入图片描述

1.1.3. 原理

  将view的点击事件覆盖在了input框上,使得input框不再响应点击事件,但是view仍然可以响应点击事件,从而达到了我们想要的效果。
  需要注意的是,这个方法只适用于禁用input框的情况,如果input框没有被禁用,使用这个方法可能会导致input框无法响应输入事件。

1.2. uni-app APP图标配置 添加图片一闪而过问题

1.2.1. 场景

点击浏览上传图标,点击自动生成所有图标并替换。
在这里插入图片描述

  出现弹框闪现无法添加图片

1.2.2. 解决方案:

  由于没有生产图片的原因:上传的原图必须是png格式,不可手动修改后缀!

1.3. uniapp请求出现 /sockjs-node/info?t=问题

1.3.1. 问题

  uniapp项目老是出现 http://192.168.2.106:8080/sockjs-node/info?t=1709704280949
在这里插入图片描述

1.3.2. sockjs-node介绍

  sockjs-node 是一个JavaScript库,提供跨浏览器JavaScript的API,创建了一个低延迟、全双工的浏览器和web服务器之间通信通道。
  服务端:sockjs-node(https://github.com/sockjs/sockjs-node)
  客户端:sockjs-client(https://github.com/sockjs/sockjs-client)
  开发时,如果变更网络环境(如切换wifi导致开发服务器的IP地址更换),服务器不知道如何确定访问源,就有可能造成上述情况。

1.3.3. 解决方法

1.3.3.1. 解决方法一

  到HBuilderX安装目录下,找到\plugins\uniapp-cli\node_modules\sockjs-client\dist\sockjs.js
找到代码的 1603行,注释掉即可,注释后别忘了,重启HBuilderX。

 try {
    //self.xhr.send(payload);
  } catch (e) {
    self.emit('finish', 0, '');
    self._cleanup(false);
  }
};

在这里插入图片描述
在这里插入图片描述

1.3.3.2. 解决方法二

  在项目根目录找到/package-lock.json文件,修改如下
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐