3285关注10489浏览
<view class="flex box box-lr" style='background-color: #eee;'>
<scroll-view class="flex groups box box-tb" scroll-y="true" scroll-into-view="{{scrollIntoView}}">
<block wx:for="{{groups}}" wx:for-item="group">
<view class="flex" id="{{group.groupName}}">
<view class="group-name">{{group.groupName}}</view>
<view class="flex group-users">
<view wx:for="{{group.users}}" wx:for-item="user" wx:for-index="idx" class="user box box-lr">
<view>
<checkbox></checkbox>
</view>
<view class="flex user-name">{{user.name}}</view>
</view>
</view>
</view>
</block>
</scroll-view>
<view class="nav box box-tb" bindtouchmove="touchmove" bindtouchcancel="touchcancel" bindtouchend="touchend">
<view bindtap="tabLetter" data-index="{{item}}" wx:for="{{letters}}" class="flex box box-align-center box-pack-center letter">
<text class="letter-text {{selected == item ? 'letter-actived' : ''}}">{{item}}</text>
</view>
</view>
</view>
------------------------------js代码
onLoad: function (options) {
const res = wx.getSystemInfoSync(),
letters = this.data.letters;
// 设备信息
this.setData({
windowHeight: res.windowHeight,
windowWidth: res.windowWidth,
pixelRatio: res.pixelRatio
});
// 第一个字母距离顶部高度,css中定义nav高度为94%,所以 *0.94
const navHeight = this.data.windowHeight * 0.94, //
eachLetterHeight = navHeight / 26,
comTop = (this.data.windowHeight - navHeight) / 2,
temp = [];
this.setData({
eachLetterHeight: eachLetterHeight
});
// 求各字母距离设备左上角所处位置
for (let i = 0, len = letters.length; i < len; i++) {
const x = this.data.windowWidth - (10 + 50) / this.data.pixelRatio,
y = comTop + (i * eachLetterHeight);
temp.push([x, y]);
}
this.setData({
lettersPosition: temp
})
},
tabLetter(e) {
const index = e.currentTarget.dataset.index;
//this.data.select
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
空空如也
18人对此回答表示赞同
wechatide://minicode/YUaxkGmE74UD代码片段
展开180回复分享发布于 5年前评论(0)
收起评论
-
Angel
15人对此回答表示赞同
确实是不会滚动,但是你给scroll-view一个固定高就会滚动了,我试过了
展开150回复分享发布于 5年前评论(0)
收起评论
-
沐雨风
14人对此回答表示赞同
兄弟,你需要给scrollView一个固定的高度,可以用wx.getSystemInfoSync()动态获取windowHeight,这样就可以了,为了稳妥起见,要给scroll-view设置高度才能实现。
展开140回复分享发布于 5年前评论(0)
收起评论
-
fallingdown咋办
12人对此回答表示赞同
既然可以摘出来,做个代码片段可好?
展开1213回复分享发布于 5年前评论(13)
收起评论
-
Rita 2019-02-02 15:13
想请问你,在做这个交互的时候,安卓会出现卡顿的情况么?我做的ios正常,安卓特别卡~~~
回复 -
末初之至 2019-02-04 20:33
可能根本原因还是没有高度,就他发的这个代码片段
回复 -
baby爱我多一次 2019-02-06 17:40
咦,我找个人来看看
回复 -
沦陷的痛 2019-02-08 14:48
很奇怪的啊,如果scroll-view只有爸爸,没有爷爷的话,模拟器上是可以正常的滚动和scroll-into-view的。但是有了爷爷就不行了。。
回复 -
瓦卡卡 2019-02-10 16:00
height:100%是相对父级节点的高度的
回复 -
Linda林晓达 2019-02-12 16:33
不客气,我也没搞懂到底是哪里的问题。看起来一切都对的。。
回复 -
Abigail 2019-02-14 10:45
多谢,我弄了一天都没什么头绪
回复 -
Raimundo 2019-02-16 19:07
不太理解。。但是有效。。应该是高度其实是没有的,不知道为啥看上去还是有
回复 -
胖小王 2019-02-18 20:04
非常感谢
回复 -
NONO小诺 2019-02-20 23:56
还真不行,我研究一下。。
回复 -
Ela腹黑的程序猿 2019-02-22 18:19
点击右边的字母跳转到对应的人,套了view就不渲染了
回复 -
Gina失踪了 2019-02-24 21:50
我试了,套了层view,还是渲染的啊
回复 -
Yogi 2019-02-26 08:31
wechatide://minicode/YUaxkGmE74UD代码片段
回复
加载更多 -
-
唉呀妈呀
5人对此回答表示赞同
都不排版下看的好乱@_@
展开51回复分享发布于 5年前评论(1)
收起评论
-
相亲相爱 2019-02-03 19:41
wechatide://minicode/YUaxkGmE74UD代码片段
回复
-