Taro UI

小程序页面滚动穿透

£可爱£侵袭症+ 提交于 2020-08-17 23:56:34
小程序页面滚动穿透 一、场景 在项目当中,基础遇到这样的需求 有一个长列表,或者其他可滚动展示的页面, 在这个页面会弹出一个 Modal 层,如下: 贝壳找房的 的筛选栏 二、问题 如果这个弹框内容不可滚动,不会有太大问题; 但是当弹出内容是可以滚动的时候,就会有问题, 触摸没有滚动的区域会发现滚动可以穿透,会传递给下面的列表页面, 三、解决办法 程序员是面向Google编程的,找到了下面的解决办法: 监听弹框状态,如果弹框展示就给列表 添加对应样式 // isShowMask 弹框是否展示 <view class="dog-container {{isShowMask ? 'bottom-fixed' : ''}}"></view> .bottom-fixed { position : fixed ; left : 0 ; top : 0 ; overflow : hidden ; } 给遮罩层添加 catchtouchmove 的阻止 myCatchTouch: function () { return; } <view wx:if="{{alert}}" catchtouchmove="myCatchTouch"> <template is="alert" data="{{alertData}}" /> </view> 这样的话,底部的列表内容就不会出现溢出,也自然不会滚动,

图片上传转base64

我的梦境 提交于 2019-11-29 09:40:37
做的过程中本来想用taro-ui里的那个图片上传,但是样式想自定义没搞定,结果后来就用Taro.chooseImage了。h5模式返回的是一个blob对象,然后自己转成base64了。微信小程序自己有方法。原来想用multipart的方式,奈何后端要求一次性要把所有的参数上送,直接上送是blob:http//xxxxx最后只好约定前端转成base64上送了。 jsx: <View className='flex-center real-card-container mt60' onClick={ this.uploadCard.bind(this,'fileJust') }> <Image className='real-card-img' src={require('../../assets/images/cardR.png')}></Image> <Text className='real-card-title'>请拍摄有人像的一面</Text> </View> js: uploadCard(fileType){ let _this = this; Taro.chooseImage({ count: 1,// 默认9 sizeType: ['original', 'compressed'],// 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album',