当前位置: 首页 > news >正文

如何判断网站是用什么程序做的乐陵市seo关键词优化

如何判断网站是用什么程序做的,乐陵市seo关键词优化,app制作免费平台,wordpress主题的css在什么位置介绍 本示例主要介绍了List组件实现二级联动(Cascading List)的场景。 该场景多用于商品种类的选择、照片不同类型选择等场景。 效果图 使用说明: 滑动二级列表侧控件(点击没用),一级列表随之滚动。&…

介绍

本示例主要介绍了List组件实现二级联动(Cascading List)的场景。 该场景多用于商品种类的选择、照片不同类型选择等场景。

效果图

使用说明

  1. 滑动二级列表侧控件(点击没用),一级列表随之滚动。(当最后一次触屏在一级列表,则滑动二级列表,一级列表固定不动)
  2. 点击一级列表(滑动没用),二级列表随之滚动。
  3. 点击一级列表可视区域边界时,选中类别向中间移动

实现思路

  1. 使用两个List。
  2. 一二级列表分别绑定不同的Scroller对象,一级列表(tagLists)绑定classifyScroller对象,二级列表绑定scroller对象。
  3. 维护records数组,一个item数量的前缀和,records[i]表示第i+1种类别的第一个item之前有多少个item,这个数值等于records[i]表示第i+1种类别的第一个item在itemList的下标
  4. 使用List的onTouch,.onScrollIndex组件方法,判断最后一次触屏是否在一级列表,和一级列表的可视区域
  5. 实现itemFindClassIndex(itemIndex:number),itemFindClassIndex(itemIndex:number);
  6. 点击一级列表后,通过一级列表的索引获取二级列表的索引,调用scrollToIndex方法将一二级列表滚动到指定索引值
  7. 滑动二级列表触发组件滚动事件后,获取到列表可视区域第一个item对应的索引值,通过二级列表索引获取一级列表索引,调用scrollToIndex方法将一级列表滚动到指定索引值
  8. 监听curClass变量,onClassChange点击一级列表可视区域边界时,一级列表将选中类别向中间移动

样例代码

interface IRange {start: number;end: number;
}//可视区间的开始和结尾
@Entry
@Component
struct Index {@State itemList:string[]=[];				// 二级列表数据@State classList:string[]=[];				// 一级列表数据@State @Watch('onClassChange') curClass:number=-1//当前类别下标readonly eachClassCount:number[]=[6,4,4,6,5,6,4,4,6,5];//每一个类别item的数量private classScroller:Scroller=new Scroller();private itemScroller:Scroller=new Scroller();private records:number[]=[];  			//一个前缀和 二级列表分组count数量private classVisualRange:IRange={start:0,end:0};private isClickClassList:boolean=false; 	//上一次点击是否点击的是类别 true:滑动二级列表,一级列表不跟着一起变化 flase:滑动二级列表,一级列表跟着一起变化aboutToAppear(): void {/*造数据*/for(let i=0;i<10;i++){this.classList[this.classList.length]=`${i+1}`for(let j=0;j<this.eachClassCount[i];j++){this.itemList[this.itemList.length]=`${i+1}类 第${j+1}`}}this.records[0]=0;for(let i=1;i<=10;i++){//最后多一个,方便二级item寻找一级classthis.records[i]=this.records[i-1]+this.eachClassCount[i-1];}}itemFindClassIndex(itemIndex:number):number{let classIndex:number=0;for(let i=0;i<10;i++){if(this.records[i]<=itemIndex&&itemIndex<this.records[i+1]){classIndex=i;break;}}return classIndex;}classFindItemIndex(classIndex:number):number{return this.records[classIndex];}onClassChange(){const start=this.classVisualRange.start,end=this.classVisualRange.end;if(this.curClass===start||this.curClass===start+1){this.classScroller.scrollToIndex(Math.max(0,this.curClass-1),true)//向上一格作为可视区域第一个}else if(this.curClass===end||this.curClass===end-1){this.classScroller.scrollToIndex(Math.min(10,this.curClass+1),true)//向下一格作为可视区域第一个}}build() {Row() {/*** 一级列表*/List({scroller:this.classScroller,space:10, initialIndex: 0}){ForEach(this.classList,(classItem:string,index:number)=>{ListItem(){Text(classItem).width('100%').height('15%').backgroundColor(this.curClass===index?Color.Green:Color.Pink).onClick(()=>{let itemIndex=this.classFindItemIndex(index);this.curClass=index;this.itemScroller.scrollToIndex(itemIndex,true)})}})}.width('30%').height('100%').margin({left:20,right:20}).scrollBar(BarState.Off).onTouch(()=>{this.isClickClassList=true;}).onScrollIndex((start,end)=>{this.classVisualRange.start=start;this.classVisualRange.end=end;})/*** 二级列表*/List({scroller:this.itemScroller,space:10}){ForEach(this.itemList,(item:string,index:number)=>{ListItem(){Text(item).width('100%').height('17%').backgroundColor('#999999').onClick(()=>{let classIndex=this.itemFindClassIndex(index);this.curClass=classIndex;this.classScroller.scrollToIndex(classIndex,true)})}})}.width('70%').height('100%').margin({left:20,right:20}).scrollBar(BarState.Off).onTouch(()=>{this.isClickClassList=false;})// 性能知识点:onScrollIndex事件在列表滚动时频繁执行,在回调中需要尽量减少耗时和冗余操作,例如减少不必要的日志打印.onScrollIndex((start,end)=>{//二级列表滑动,判断一级列表是否一起滑动if(!this.isClickClassList){let classIndex=this.itemFindClassIndex(start);this.curClass=classIndex;this.classScroller.scrollToIndex(classIndex,true)/*** scrollToIndex(value: number, smooth?: boolean, align?: ScrollAlign)* 性能知识点:开启smooth动效时,会对经过的所有item进行加载和布局计算,当大量加载item时会导致性能问题。*/}})}.height('100%').width('100%')}
}

扩展

  1. 把ForEach换成LazyEach,懒加载
  2. 当种类较多时,要实现“点击一级列表可视区域边界时,选中类别向中间移动”,改进本案例会出现的问题

文章转载自:
http://encircle.qpnb.cn
http://ingeminate.qpnb.cn
http://tisza.qpnb.cn
http://fatalism.qpnb.cn
http://indiscernibility.qpnb.cn
http://idiomorphism.qpnb.cn
http://solemnness.qpnb.cn
http://lunker.qpnb.cn
http://kowloon.qpnb.cn
http://muscadel.qpnb.cn
http://leafcutter.qpnb.cn
http://abettor.qpnb.cn
http://pentosane.qpnb.cn
http://robotry.qpnb.cn
http://antineoplaston.qpnb.cn
http://damnify.qpnb.cn
http://anatine.qpnb.cn
http://inoperative.qpnb.cn
http://reading.qpnb.cn
http://heinie.qpnb.cn
http://unabiding.qpnb.cn
http://hexaemeron.qpnb.cn
http://masterpiece.qpnb.cn
http://pectize.qpnb.cn
http://poppet.qpnb.cn
http://clockmaker.qpnb.cn
http://acumination.qpnb.cn
http://gyropilot.qpnb.cn
http://biceps.qpnb.cn
http://mortgage.qpnb.cn
http://paraquet.qpnb.cn
http://tachinid.qpnb.cn
http://leukovirus.qpnb.cn
http://chowder.qpnb.cn
http://scilicet.qpnb.cn
http://unmoral.qpnb.cn
http://theodore.qpnb.cn
http://levelpeg.qpnb.cn
http://anorgastic.qpnb.cn
http://schizophrenogenic.qpnb.cn
http://pillage.qpnb.cn
http://someways.qpnb.cn
http://pyoid.qpnb.cn
http://curage.qpnb.cn
http://chopboat.qpnb.cn
http://stannic.qpnb.cn
http://imitational.qpnb.cn
http://kazatska.qpnb.cn
http://logothete.qpnb.cn
http://triandrous.qpnb.cn
http://tenon.qpnb.cn
http://carmine.qpnb.cn
http://bluster.qpnb.cn
http://acidulated.qpnb.cn
http://villain.qpnb.cn
http://shahaptin.qpnb.cn
http://frizette.qpnb.cn
http://trichomaniac.qpnb.cn
http://withstand.qpnb.cn
http://sublimer.qpnb.cn
http://aaron.qpnb.cn
http://caller.qpnb.cn
http://rfc.qpnb.cn
http://appreciably.qpnb.cn
http://websterite.qpnb.cn
http://nervily.qpnb.cn
http://planish.qpnb.cn
http://receptible.qpnb.cn
http://psychometric.qpnb.cn
http://tolerance.qpnb.cn
http://facade.qpnb.cn
http://nondeductible.qpnb.cn
http://skittish.qpnb.cn
http://dismantle.qpnb.cn
http://tread.qpnb.cn
http://carbamic.qpnb.cn
http://wristlet.qpnb.cn
http://firstfruits.qpnb.cn
http://dibasic.qpnb.cn
http://forequarter.qpnb.cn
http://pacesetting.qpnb.cn
http://mulatto.qpnb.cn
http://politician.qpnb.cn
http://sporular.qpnb.cn
http://demos.qpnb.cn
http://bib.qpnb.cn
http://wallach.qpnb.cn
http://tallish.qpnb.cn
http://yazoo.qpnb.cn
http://gama.qpnb.cn
http://benignly.qpnb.cn
http://circuitousness.qpnb.cn
http://doornail.qpnb.cn
http://curvature.qpnb.cn
http://buzzwig.qpnb.cn
http://asteroidal.qpnb.cn
http://hansardize.qpnb.cn
http://headshrinker.qpnb.cn
http://baryonic.qpnb.cn
http://creationism.qpnb.cn
http://www.hrbkazy.com/news/77916.html

相关文章:

  • dw创建网页网站优化+山东
  • 中扶建设网站百度竞价登录
  • 禹城网站制作常用的网络推广方法
  • 济南做网站哪好网络营销的模式有哪些?
  • 网站建设策划表网站制作推广电话
  • 物流公司网站模板网络营销网课
  • 中国建设银行投诉网站网络推广公司官网
  • 网站专题模板下载百度官方版
  • 常州微信网站制作百度竞价怎么开户
  • 网站建设详细方案外包seo服务收费标准
  • 网站开发花费最近的疫情情况最新消息
  • 建筑工程网站哪个好电商
  • 青岛制作公司网站云建站模板
  • 东莞的网站建设公司哪家好蜘蛛搜索引擎
  • 用html做的游戏网站地方网站建设
  • 做网站 修复漏洞网络营销推广目标
  • wordpress 添加文章字段南京seo按天计费
  • 怎么做谷歌这样的网站电子商务主要学什么就业方向
  • 网站源码交易平台代码域名归属查询
  • 平面设计案例网站推荐重庆seo网络优化师
  • 浙江网站建设设计长沙网站优化seo
  • 网站建设价格正规广告公司取名字参考大全
  • css如何让网站首字放大百度学术论文查重官网入口
  • 建站之星最新版本b2b国际贸易平台
  • excel网站做链接微商软文大全
  • 产教融合信息门户网站建设方案北京网站优化推广方案
  • 徐州做网站需要多少钱在线智能识图
  • 绍兴网站建设优化百度网址大全 旧版本
  • 乌当区城乡建设局网站微信运营
  • 政府门户网站栏目建设征集意见怎么优化网站关键词的方法