父组件处理:
<template> <div class="wrap"> <!-- 搜索框 --> <div class="searchInputArea"> <div class="searchBarBox"> <div class="inputWrap" > <form onsubmit="javascript:return false" action> <input :placeholder = "placeholderStr" type="search" ref = "input" v-model="keyword" /> <span class="clearBtn" v-show="keyword" @click="clear"></span> </form> </div> </div> </div> <div class="myFastChoiceBlock" v-show="!keyword"> <!-- 最近伙伴和我的关注 --> <fast-choice :successInvite="successInvite" @invite="inviteClick"></fast-choice> </div> <div class="searchContainer"> <search-content :searchName="keyword" :successInvite="successInvite" @inviteClick="inviteClick" v-if="keyword !== ''"></search-content> </div> <!-- 协议弹出层 --> <pop-up @change="closeLayer" v-if="popuShow"> <h2 class="title">{{protocolTitle}}</h2> <div class="content" v-html="protocolCon"></div> <div class="confirmBtn" :class="{active:isActive}" @click="confirmProtocol">{{btntxt}}</div> <div class="popCloseCon" @click="closeActionClick"></div> </pop-up> <!-- 比例弹出层 --> <scale @change="closeScale" @send="sendAjaxClick" :number="scaleCount" :scaleBtn="scaleBtn" :scaleDesc="scaleDesc" v-show="isScale" :userId="userId"></scale> </div> </template> <script> import FastChoice from './components/fastChoice'; import PopUp from './components/PopUp'; import scale from './components/scale'; import SearchContent from './components/searchContent'; const pageSize=10; let t=''; export default { name: "Search", data() { return { placeholderStr: '搜一搜你想找的TA', keyword: '', list: [], timerKey: null, dataList:[],//列表数据 totalPage:1, popuShow:false,//协议弹出层 isScale:false,//比例弹出层 scaleValue:'',//分成比例 userId:'', isActive:true,//操作协议按钮灰色显示 sencond:5,//秒数 btntxt:'', //操作协议层按钮文字显示 scaleValue:'',//分成比例 scaleDesc:'',//比例弹窗描述 scaleBtn:'', scaleCount:'50%',//默认分成比例 successInvite: [],//默认未邀请 protocolTitle:'',//协议标题 protocolCon:'' //协议内容 }; }, components:{FastChoice,PopUp,scale, SearchContent}, watch: { keyword () { if (!this.keyword){ return; } } }, mounted() { this.protocolAjax(); }, methods: { //邀请 inviteClick (item) { //点击邀请过的不予操作 if(this.successInvite.indexOf(item.hwUserId) > -1 || item.inviteStatus){ return; } this.isScale = true; this.userId = item.hwUserId; this.scaleDesc = '邀请成功后你可获取该用户部分收益,选择双方都认可的分成比例可以提高邀请成功率哦~'; this.scaleBtn = '发送邀请'; this.scaleCount = '50%';//邀请比例统一为50% }, //点击发送邀请 sendAjaxClick (value){ this.scaleValue = value; this.popuShow = true; this.isScale = false; this.isActive = true; this.sencond = 5 ; this.timer(); }, //5s时间倒计时 timer() { if (this.sencond > 0) { this.btntxt="已阅读同意并确认邀请("+this.sencond+"s)"; this.sencond--; t=setTimeout(this.timer, 1000); } else{ this.isActive = false; this.sencond = 5; this.btntxt="已阅读同意并确认邀请"; } }, //已阅读同意并确认 confirmProtocol () { if(this.isActive){ return false; } this.sendAjax(); }, //发送邀请请求 sendAjax () { console.log(this.scaleValue); let dd = this.scaleValue.toString(); this.$request.post(_basePath + '/activity/page20191018/inviteArtist.html',{userId: this.userId,shareRate:this.scaleValue}).then((res) => { this.successInvite.push(this.userId) ; mui.toast("已发送邀请,对方接受后会通知你哦",2000); this.closeActionClick(); }).catch(() => {}) }, //关闭操作协议弹窗 closeActionClick() { this.popuShow = false; clearTimeout(t);//清除倒计时 }, //关闭分成比例弹窗 closeScale () { this.isScale = false; }, clear () { this.keyword = ""; this.$refs["input"].focus(); }, protocolAjax () { this.$request.post(_basePath + '/activity/page20191018/queryProtocol.html',{type:0}).then((res) => { this.protocolTitle = res.title; this.protocolCon = res.content; }).catch(() => {}) } }, }; </script> <style lang="scss" scoped> @import "search"; </style>
子组件处理:
<template> <div> <div ref="mescroll" class="mescroll"> <div class="search-content wrapper" ref="scroller" > <ul> <li class="item" v-for="(item,index) in dataList" :key="index"> <div class="personBlock" @click="openUserClick(item.userDetail.userId)"> <div class="showImg"> <img :src="/UploadFiles/2021-04-02/item.userDetail.userThumUrl">填坑处理:
1、用户未输入搜索关键词时,mescroll不能就直接初始话,要在用户输入的时候才能初始化,所以子组件就接受了父组件的keyword,并用
v-if="keyword !== ''"
来判断加载子组件的条件,然后子组件通过监听keyword的变化,重置mescroll:如下:watch: { 'searchName' () { this.dataList = [];//要清空,不然有时候会出现上拉加载不了 this.searchName !== '' && this.mescroll.resetUpScroll(); } },2、搜索完以后点击搜索输入框右边里的关闭按钮,发现其他列表不能滑动。解决方法:要加:isBounce: true,
ps:下面看下mescroll vue使用
github: https://github.com/mescroll/mescroll
官方文档:http://www.mescroll.com
最好按照官方文档来
开启初始化完毕之后自动执行上拉加载的回调,保证一进入页面,就去加载数据
上拉刷新的时候,或者tab切换的时候,先将数据置空
page 和 pageSize使用upOption中的,并且num默认为0
代码:
// html <mescroll-uni top="100" @down="downCallback" @up="upCallback" @init="mescrollInit" :up="upOption" :down="downOption"> //data: // 下拉刷新的常用配置 downOption: { use: true, // 是否启用下拉刷新; 默认true auto: false, // 是否在初始化完毕之后自动执行下拉刷新的回调; 默认true }, // 上拉加载的常用配置 upOption: { use: true, // 是否启用上拉加载; 默认true auto: true, // 是否在初始化完毕之后自动执行上拉加载的回调; 默认true textNoMore:'我是有底线的 >_<', page: { num:0, size: 4 } }, list:[], //methods: // 下拉回调 downCallback(mescroll){ mescroll.setPageNum(1) this.list = [] mescroll.resetUpScroll(); setTimeout(()=>{ console.log(666); // 隐藏下拉加载状态 mescroll.endErr() },1000) }, // 上拉回调 upCallback(mescroll){ setTimeout(()=>{ let pageNum = mescroll.num == 0 "color: #ff0000">总结以上所述是小编给大家介绍的vue中的mescroll搜索运用及各种填坑处理,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 《庄心妍 实力唱将 发烧音乐精选集》[WAV+CUE][380MB]
- [音展纪念碟]2006年《TAA台湾第十六届国际HI-ENDHI-FI音响展》2cd[WAV]
- 中国音乐地图之听见西藏山歌牧歌酒歌2020[WAV分轨]
- 王宏伟2017-永远的红飘带[太平洋影音][WAV+CUE]
- 费翔.1997-NOW现在【第一中国】【WAV+CUE】
- 新格合唱团.1981-我唱你和2辑(滚石新格民歌系列)【新格】【WAV+CUE】
- 陈柏宇.2011-QUINQUENNIUM【SONY】【WAV+CUE】
- 雨果唱片-《金唛系列-蔷薇依韵琼瑶》WAV
- 陈百强《凝望(2012华纳LPCD45限量版)[DMI]》[WAV整轨]
- 模拟之声慢刻CD《徐小凤45周年》[德国母带][低速原抓WAV+CUE]
- 《庄心妍 实力唱将 发烧音乐精选集》[WAV+CUE][380MB]
- 《王菲 单曲合集》[FlAC/分轨][520MB]
- 《费玉清 原味再现 水长流》[WAV+CUE][430MB]
- 群星.1992-畅销榜老歌金曲10CD【风格】【WAV+CUE】
- 孙悦.2024-时光音乐会【金蜂】【WAV+CUE】