const app = getApp() Component({ data: { alphabetList: [], // 字母列表 listCur: "A", // 当前显示字母 hidden: true, listCurID: "A", boxTop: 0, btnName: "", loadFlag: "" }, options:{ multipleSlots: true }, properties: { scrollViewTop: { type: Number, value: 0 }, scrollViewBottom: { type: Number, value: 0 }, pageType: { type: String, value: "none", observer: function (type) { let btnContent = "" if (type === "none") { btnContent = "" } else if (type === "invite") { btnContent = "邀请" } else if (type === "delete") { btnContent = "删除" } else if (type === "verify") { btnContent = "审核" } this.setData({ btnName: btnContent }) } }, dataList: { type: Array, value: [] }, groupCategory: { type: String, value: "1" } }, pageLifetimes: { show () { this.setData({ loadFlag: app.globalData.groupInfo.lordFlag }) }, hide () { } }, lifetimes: { created () { }, attached () { this.alphabetListInit() const that = this wx.createSelectorQuery().in(this).select(".indexBar-box").boundingClientRect(function (res) { that.setData({ boxTop: res.top }) }).exec() } }, methods: { // 初始化字母表 alphabetListInit () { let list = [] for (let i = 0; i < 26; i ++) { list[i] = String.fromCharCode(65 + i) } this.setData({ alphabetList: list, listCur: list[0] }) }, //获取文字信息 getCur (e) { this.setData({ hidden: false, listCur: e.target.id, }) }, // 设置文本信息 setCur () { this.setData({ hidden: true, listCur: this.data.listCur }) }, //滑动选择Item tMove (e) { let y = e.touches[0].clientY let offsettop = this.data.boxTop console.log(offsettop) //判断选择区域,只有在选择区才会生效 if (y > offsettop) { let num = parseInt((y - offsettop) / 20); this.setData({ listCur: this.data.alphabetList[num] }) } }, //触发全部开始选择 tStart () { this.setData({ hidden: false }) }, //触发结束选择 tEnd () { this.setData({ hidden: true, listCurID: this.data.listCur }) }, chooseMember (e) { this.triggerEvent("chooseFriend", { userId: e.currentTarget.dataset.userid, alphabet: e.currentTarget.dataset.alphabet}) }, operationBtn (e) { this.triggerEvent("operationBtn", { id: e.currentTarget.dataset.id, userId: e.currentTarget.dataset.userid }) } } })