uni-app input设置为disable,不能点击

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

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.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.3. 原理

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

  • 13
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值