目前iPhoneX遇到同样问题,微信版本号是6.7.1 [图片] 另外把该问题录像下来了 https://pan.baidu.com/s/1EX7Y06m6jojxltx187jnCw
textarea获得焦点时,navigationBar 错位[图片] iphone6 ios 11.3.1是输入法的框框错位 [图片]iphone6s ios11.3.1 navigationBar 错位
2018-08-28iPhoneX 微信版本6.7.1 表示也出现同样问题了,我们在详情页面上底部有个 textarea 评论框,评论之后,软键盘收起,然后小程序头部栏目都在中间了。操作有视频录像,视频地址 https://pan.baidu.com/s/1EX7Y06m6jojxltx187jnCw [图片]
iPhone X 惊现bug[图片] 这是在iPhone X 上出现的一幕,当我点击下放的textarea就会出现这个问题,该怎么办呢
2018-08-28[图片] 微信开发者工具: 设置 -> 编辑设计
微信开发者工具 代码编译后代码刷新,模拟器不刷新- 当前 Bug 的表现(可附上截图) 代码编译后,模拟器不刷新 - 预期表现 代码编译后,模拟器刷新 - 复现路径 - 提供一个最简复现 Demo 解决:把 修改文件时自动保存 选项的勾去掉就好了,不然需要手动刷新
2018-07-31if (this.selectComponent) { // 正常使用逻辑 } else { wx.showModal({title:'提示', content:'微信版本太低,请更新微信版本'}); }
组件的selectComponent 方法监控后台报this.selectComponent is not a function.这个api文档上也没有写这个方法有兼容问题啊,求解答,由于上个版本用这个方法比较多,现在换方案代价太大了,心里苦 [图片]
2018-07-18放到生命周期 onReady 函数里面, onLoad 的时候页面结构还没完全加载进来。
selectcomponent 返回null[代码]onLoad: function(){[代码][代码] [代码][代码]this[代码][代码].barComponent = [代码][代码]this[代码][代码].selectComponent([代码][代码]'#barDom'[代码][代码]);[代码][代码] [代码][代码]console.log([代码][代码]this[代码][代码].selectComponent([代码][代码]'#barDom'[代码][代码]))[代码][代码] [代码][代码]this[代码][代码].lineComponent = [代码][代码]this[代码][代码].selectComponent([代码][代码]'#lineDom'[代码][代码]);[代码][代码] [代码][代码]this[代码][代码].pieComponent = [代码][代码]this[代码][代码].selectComponent([代码][代码]'#pieDom'[代码][代码]);[代码][代码]},[代码] [代码][代码] <ec-canvas id="lineDom" canvas-id="line" ec="{{ecLine}}"></ec-canvas> <ec-canvas id="barDom" canvas-id="bar" ec="{{ecBar}}"></ec-canvas> <ec-canvas id="pieDom" canvas-id="pie" ec="{{ecPie}}"></ec-canvas> 早上还可以取到barComponent 下午的时候就报null [图片]
2018-07-18自问自答环节,我已经实现了。 我自定义了一个组件 wxml [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]'container'[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]swiper[代码] [代码]circular vertical>[代码][代码] [代码][代码]<[代码][代码]swiper-item[代码] [代码]wx:for[代码][代码]=[代码][代码]'{{swipers}}'[代码] [代码]wx:key[代码][代码]=[代码][代码]'swiper{{index}}'[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]style[代码][代码]=[代码][代码]'width:{{windowHeight}}px;height:{{windowWidth}}px;transform-origin:{{windowWidth/2}}px;transform:rotate(90deg)'[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]slot[代码] [代码]name[代码][代码]=[代码][代码]'swiper{{index}}'[代码][代码]></[代码][代码]slot[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]swiper-item[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]swiper[代码][代码]>[代码][代码]</[代码][代码]view[代码][代码]>[代码]js [代码]Component({[代码][代码] [代码][代码]options: {[代码][代码] [代码][代码]multipleSlots: [代码][代码]true[代码] [代码]// 在组件定义时的选项中启用多slot支持[代码][代码] [代码][代码]},[代码][代码] [代码][代码]/**[代码][代码] [代码][代码]* 组件的属性列表[代码][代码] [代码][代码]*/[代码][代码] [代码][代码]properties: {[代码][代码] [代码][代码]swipers: {[代码][代码] [代码][代码]type: Array,[代码][代码] [代码][代码]value: [],[代码][代码] [代码][代码]observer: [代码][代码]function[代码][代码](newVal, oldVal) {[代码][代码] [代码][代码]if[代码] [代码](!Array.isArray(newVal)) {[代码][代码] [代码][代码]throw[代码] [代码]new[代码] [代码]TypeError([代码][代码]'property swipers must be typeof array'[代码][代码]);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]},[代码] [代码] [代码][代码]/**[代码][代码] [代码][代码]* 组件的初始数据[代码][代码] [代码][代码]*/[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]windowHeight: 0,[代码][代码] [代码][代码]windowWidth: 0[代码][代码] [代码][代码]},[代码] [代码] [代码][代码]/**[代码][代码] [代码][代码]* 组件的方法列表[代码][代码] [代码][代码]*/[代码][代码] [代码][代码]methods: {[代码] [代码] [代码][代码]},[代码] [代码] [代码][代码]attached() {[代码][代码] [代码][代码]var[代码] [代码]sys = wx.getSystemInfoSync();[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]windowHeight: sys.windowHeight,[代码][代码] [代码][代码]windowWidth: sys.windowWidth[代码][代码] [代码][代码]});[代码][代码] [代码][代码]}[代码][代码]})[代码]wxss [代码].container {[代码][代码] [代码][代码]width[代码][代码]: [代码][代码]100[代码][代码]vw;[代码][代码] [代码][代码]height[代码][代码]: [代码][代码]100[代码][代码]vh;[代码][代码] [代码][代码]position[代码][代码]: [代码][代码]relative[代码][代码];[代码][代码]}[代码][代码]swiper, swiper-item {[代码][代码] [代码][代码]width[代码][代码]: [代码][代码]100%[代码][代码];[代码][代码] [代码][代码]height[代码][代码]: [代码][代码]100%[代码][代码];[代码][代码]}[代码] pages中使用如下 wxml [代码]<[代码][代码]hswiper[代码] [代码]swipers[代码][代码]=[代码][代码]'{{imgs}}'[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]image[代码] [代码]wx:for[代码][代码]=[代码][代码]'{{imgs}}'[代码] [代码]wx:key[代码][代码]=[代码][代码]'hswiper{{index}}'[代码] [代码]slot[代码][代码]=[代码][代码]'swiper{{index}}'[代码] [代码]src[代码][代码]=[代码][代码]'{{item.src}}'[代码] [代码]class[代码][代码]=[代码][代码]'item'[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]image[代码][代码]>[代码][代码]</[代码][代码]hswiper[代码][代码]>[代码] wxss [代码].item {[代码][代码] [代码][代码]width[代码][代码]: [代码][代码]100%[代码][代码];[代码][代码] [代码][代码]height[代码][代码]: [代码][代码]100%[代码][代码];[代码][代码]}[代码]
小程序屏幕旋转建议小程序支持横屏。 由于小程序不支持横屏,所以使用了 transform的 rotate将页面最外层的 view 组件 旋转了90度实现横屏效果。 再使用swiper时遇到左右滑动swiper时,子项上下滚动,设置上下滚动时,swiper子项左右滚动。 事实上页面还是竖屏,只是把页面内容旋转了而已。 手势↕️滑动,swiper↔️切换了。手势↔️滑动,swiper↕️切换了。 [图片]
2018-06-29有人试过如何解决吗?没有我再过一段时间来问。 现提供示例代码: 点击打开代码 或复制倒入代码片段 wechatide://minicode/NCwQovmU7XCR
swiper手势滑动和图片滚动由于小程序不支持横屏,而产品需求又必须是横屏操作。 然后我在 wxml 整个外层包了个 view ,并使用样式将其旋转了 90度。transform: rotate(90deg); 页面中使用了 swiper,然后手势滑动操作就出现和预期不一样的效果。如下所示。 [图片] 手势 ⬅️ ➡️ 滑动的时候,图片是 ⬆️⬇️ 切换。 然后设置了 swiper 的vertical 属性后如下。 [图片] 手势⬆️⬇️ 滑动的时候,图片是 ⬅️ ➡️ 切换。 wxml 页面代码如下 [代码]<[代码][代码]view[代码] [代码]style[代码][代码]=[代码][代码]'transform: rotate(90deg);width:{{windowHeight}}px;height:{{windowWidth}}px;transform-origin:{{windowWidth/2}}px 50%;'[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]swiper[代码][代码] circular vertical current='{{currentDesign}}' bindchange='handSwiperChange'>[代码][代码] [代码][代码]<[代码][代码]swiper-item[代码] [代码]wx:for[代码][代码]=[代码][代码]'{{designList}}'[代码] [代码]wx:key[代码][代码]=[代码][代码]'design{{item.designid}}'[代码] [代码]item-id[代码][代码]=[代码][代码]'{{item.designid}}'[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]image[代码] [代码]src[代码][代码]=[代码][代码]'{{item.imageurl_big}}'[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]'planname'[代码][代码]>{{item.name}}</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]image[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]swiper-item[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]swiper[代码][代码]>[代码][代码]</[代码][代码]view[代码][代码]>[代码] 整个页面旋转 90 度之后,swiper 手势上下滑动时,轮播变成了左右切换了。手势左右滑动时,轮播变成了上下切换了。
2018-06-28楼主分析到位,官方还没解决吗?真机上是正常的,开发工具上有这个问题。
onTabItemTap 在模拟上的 bugPage 里面定义了 onTabItemTap 事件,但是并不会被触发,代码片段在 WAService.js [代码]WeixinJSBridge.on([代码][代码]"onTabItemTap"[代码][代码], (0,[代码][代码]l.surroundByTryCatch)([代码][代码]function[代码][代码](e, t) {[代码][代码] [代码][代码]if[代码] [代码](C.hasOwnProperty(t)) {[代码][代码] [代码][代码]var[代码] [代码]n = C[t][代码][代码] [代码][代码], r = n.page;[代码][代码] [代码][代码]if[代码] [代码]([代码][代码]"undefined"[代码] [代码]!= [代码][代码]typeof[代码] [代码]__wxConfig && __wxConfig.tabBar && __wxConfig.tabBar.list && __wxConfig.tabBar.list[e.index]) {[代码][代码] [代码][代码]var[代码] [代码]o = {[代码][代码] [代码][代码]index: e.index,[代码][代码] [代码][代码]pagePath: (__wxConfig.tabBar.list[e.index].pagePath || [代码][代码]""[代码][代码]).replace(/\.html$/, [代码][代码]""[代码][代码]),[代码][代码] [代码][代码]text: __wxConfig.tabBar.list[e.index].text[代码][代码] [代码][代码]};[代码][代码] [代码][代码]if[代码] [代码](o.pagePath !== n.route)[代码][代码] [代码][代码]return[代码][代码];[代码][代码] [代码][代码]r.hasOwnProperty([代码][代码]"onTabItemTap"[代码][代码]) && ((0,[代码][代码] [代码][代码]l.info)([代码][代码]"Invoke event onTabItemTap in page: "[代码] [代码]+ n.route),[代码][代码] [代码][代码]l.safeInvoke.call(r, [代码][代码]"onTabItemTap"[代码][代码], o))[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码]}));[代码] 问题在于 o.pagePath !== n.route 的判断。o 代表要跳转的 tab,n 是当前 tab,这里应该是 ===,而不是 !==,造成的现象是只有在当前 tab 点击当前 tab 才会触发事件,点击其他 tab 都不会触发。
2018-06-26刚刚测试了,有效。 [代码]<[代码][代码]view[代码] [代码]wx:if[代码][代码]=[代码][代码]'{{show}}'[代码][代码]>[代码] [代码] [代码][代码]<[代码][代码]scroll-view[代码] [代码]scroll-y [代码][代码]style[代码][代码]=[代码][代码]"height: 200px;"[代码] [代码]scroll-into-view[代码][代码]=[代码][代码]"{{intoView}}"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]wx:for[代码][代码]=[代码][代码]'{{list}}'[代码] [代码]wx:key[代码][代码]=[代码][代码]'id{{index}}'[代码] [代码]id[代码][代码]=[代码][代码]"{{item}}"[代码] [代码]class[代码][代码]=[代码][代码]"scroll-view-item bc_{{item}}"[代码][代码]></[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]scroll-view[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"btn-area"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]button[代码] [代码]size[代码][代码]=[代码][代码]"mini"[代码] [代码]bindtap[代码][代码]=[代码][代码]"tap"[代码][代码]>点击让scroll-view出现</[代码][代码]button[代码][代码]>[代码][代码]</[代码][代码]view[代码][代码]>[代码] [代码]Page({[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]show: [代码][代码]false[代码][代码],[代码][代码] [代码][代码]intoView: [代码][代码]null[代码][代码],[代码][代码] [代码][代码]list: [[代码][代码]'green'[代码][代码], [代码][代码]'red'[代码][代码], [代码][代码]'yellow'[代码][代码], [代码][代码]'blue'[代码][代码]][代码][代码] [代码][代码]},[代码][代码] [代码][代码]onLoad: [代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]},[代码][代码] [代码][代码]tap: [代码][代码]function[代码] [代码](e) {[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]show: [代码][代码]true[代码][代码],[代码][代码] [代码][代码]intoView: [代码][代码]'yellow'[代码][代码] [代码][代码]})[代码][代码] [代码][代码]},[代码][代码]})[代码] [代码].scroll-view-item {[代码][代码] [代码][代码]width[代码][代码]: [代码][代码]100%[代码][代码];[代码][代码] [代码][代码]height[代码][代码]: [代码][代码]100px[代码][代码];[代码][代码]}[代码][代码].bc_green {[代码][代码] [代码][代码]background[代码][代码]: [代码][代码]green[代码][代码];[代码][代码]}[代码][代码].bc_red {[代码][代码] [代码][代码]background[代码][代码]: [代码][代码]red[代码][代码];[代码][代码]}[代码][代码].bc_yellow {[代码][代码] [代码][代码]background[代码][代码]: yellow;[代码][代码]}[代码][代码].bc_blue {[代码][代码] [代码][代码]background[代码][代码]: [代码][代码]blue[代码][代码];[代码][代码]}[代码]
scroll-view先hidden再出现,scroll-into-view无效scroll-view如果先hidden再出现,scroll-into-view无效 [代码]<scroll-view scroll-y style=[代码][代码]"height: 200px;"[代码] [代码]scroll-into-view=[代码][代码]"yellow"[代码] [代码]hidden>[代码][代码] [代码][代码]<view id=[代码][代码]"green"[代码] [代码]class=[代码][代码]"scroll-view-item bc_green"[代码][代码]></view>[代码][代码] [代码][代码]<view id=[代码][代码]"red"[代码] [代码]class=[代码][代码]"scroll-view-item bc_red"[代码][代码]></view>[代码][代码] [代码][代码]<view id=[代码][代码]"yellow"[代码] [代码]class=[代码][代码]"scroll-view-item bc_yellow"[代码][代码]></view>[代码][代码] [代码][代码]<view id=[代码][代码]"blue"[代码] [代码]class=[代码][代码]"scroll-view-item bc_blue"[代码][代码]></view>[代码][代码]</scroll-view>[代码] 先hidden,然后通过setData把hidden去掉,此时scroll-into-view无效
2018-06-22同问,在 iOS上表现是居中的,android上还是给title留了个位置。苦恼中...
wx.showLoadingwx.showLoading({ }) 当我不传title的时候,加载框loading的gif图不居中,还是给了一个title的空间;title传null,是不显示加载框的。
2018-06-14