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

html做的网站图片横着摆放2022近期时事热点素材

html做的网站图片横着摆放,2022近期时事热点素材,html做分页的网站,青州网站设计通过官网给出的示例自己实现了自定义的tabBar,但结果发现 无法监听页面生命周期函数 结语:原想的是实现不一样的效果(如下) 故尝试了自定义tabBar,虽然做出来了,但也发现这个做法存在不足: 在…

通过官网给出的示例自己实现了自定义的tabBar,但结果发现

无法监听页面生命周期函数

结语:原想的是实现不一样的效果(如下)

故尝试了自定义tabBar,虽然做出来了,但也发现这个做法存在不足:

在页面js文件中,需要给出以下代码:

Component({pageLifetimes: {show() {if (typeof this.getTabBar === 'function' &&this.getTabBar()) {this.getTabBar().setData({selected: 0		// 对应tabBar的下标})}}},data: {navBarHeight: getApp().globalData.navBarHeight,},
})

相当于将原来的page页面更改为组件components

这样做的结果就是无法监听页面生命周期函数(至少在创建page时自带的生命周期函数均无法监听)

这是我遇到的,若有解决方案,欢迎留言告知

实现步骤

官方文档:基础能力 / 自定义 tabBar (qq.com)

1.app.json配置tabBar

"tabBar": {"custom": true,"color": "#a5abbd","selectedColor": "#1dba73","backgroundColor": "#ffffff","list": [{"pagePath": "pages/home/home","text": "首页"},{"pagePath": "pages/index/index","text": "测试"}]}

注意:此处path不写最前面的 /

2.在项目根目录下添加文件夹custom-tab-bar,并添加组件,命名为index(下面的代码均借鉴官方demo,可自行修改)

项目文件夹如下:

index.js:

Component({data: {selected: 0,color: "#a5abbd",selectedColor: "#1dba73",list: [{pagePath: "/pages/home/home",iconPath: "/images/icon/home.svg",selectedIconPath: "/images/icon/home-selected.svg",text: "首页"}, {// 此处path必须加前面的/,否则在切换tabbar时,会自动拼接地址,导致传入url有误,系统没有任何效果pagePath: "/pages/index/index",text: "测试"}]},methods: {switchTab(e) {const data = e.currentTarget.datasetconst url = data.path// wx.switchTab切换tabBar组件,可传入url,success,fail,此处简写wx.switchTab({url})// 完整写法// wx.switchTab({//   url: url,//   success(res){console.log(res)},//   fail(error){console.log(error)}// })this.setData({selected: data.index})}}
})

注意:此处path必须加前面的/,否则在切换tabbar时,会自动拼接地址,导致传入url有误,系统没有任何效果

index.json:

{"component": true
}

index.wxml:

<view class="tab-bar"><view class="tab-bar-border"></view><view wx:for="{{list}}" wx:key="index" class="tab-bar-item" data-path="{{item.pagePath}}" data-index="{{index}}" bindtap="switchTab"><image src="{{selected === index ? item.selectedIconPath : item.iconPath}}"></image><view style="color: {{selected === index ? selectedColor : color}}">{{item.text}}</view></view>
</view>

index.wxss:

.tab-bar {position: fixed;bottom: 0;left: 0;right: 0;height: 48px;background: white;display: flex;padding-bottom: env(safe-area-inset-bottom);
}.tab-bar-border {background-color: rgba(0, 0, 0, 0.33);position: absolute;left: 0;top: 0;width: 100%;height: 1px;transform: scaleY(0.5);
}.tab-bar-item {flex: 1;text-align: center;display: flex;justify-content: center;align-items: center;flex-direction: column;
}.tab-bar-item image {width: 27px;height: 27px;
}.tab-bar-item view {font-size: 10px;
}

到此处应该就会出现tabBar且可点击,点击时也能切换页面

但可能出现问题:一个tabBar要点击两次才能更改样式(即tabBar与页面未连接)

解决:

在页面的js文件中:

Component({pageLifetimes: {show() {if (typeof this.getTabBar === 'function' &&this.getTabBar()) {this.getTabBar().setData({selected: 0		// 对应tabBar的下标})}}},data: {navBarHeight: getApp().globalData.navBarHeight,},
})

至此,自定义tabBar便完成了,但就像我前面说的,如此修改之后,无法监听页面的生命周期函数,大家自行判断是否需要自定义tabBar,或者有更好解决方案的,欢迎评论区交流

http://www.wangmingla.cn/news/108926.html

相关文章:

  • 青岛网站建设有限公司网站收录软件
  • 广州市网站建设网络营销策划方案怎么做
  • 旅游网站建设的背景长沙靠谱的关键词优化
  • 厦门网站建设公司排行榜seo关键字优化技巧
  • 什么网站做批发凉席电脑优化软件推荐
  • 好学校平台网站模板下载不了郑州网站顾问
  • 淘宝客网站怎么建设中国去中心化搜索引擎
  • 如何建立购物网站沈阳seo排名优化推广
  • 作图网站做课程表搜索优化引擎
  • 帮忙做简历的网站怎么在百度上推广产品
  • 国际网站卖东西怎么做可以推广的软件有哪些
  • 杭州营销型网站怎么做已矣seo排名点击软件
  • 如何做网站编辑代码seo诊断分析工具
  • 商务网站设计方案陕西网络营销优化公司
  • 做视频网站成本高吗如何进行搜索引擎的优化
  • 企业网站提交站长之家源码
  • 如何查看一个网站是什么程序做的黄山网站seo
  • 天津建设银行招聘网站班级优化大师网页版
  • 做网站会员金字塔系统爱站网长尾关键词挖掘
  • 自适应网站一般用什么框架做竞价托管哪家便宜
  • 一般网站用什么技术做的网站推广服务
  • vue做移动端网站与pc端有什么区别seo三人行网站
  • 怎么用手机做抖音上最火的表白网站今日头条收录入口
  • 上海seo服务南京seo培训
  • 广州外贸网站建设开发免费网站的平台
  • 第三方经营的b2b网站学历提升
  • 做电子商务网站需要办理什么证谈谈你对seo概念的理解
  • 长宁怎么做网站优化好网站推广及seo方案
  • 免费企业宣传片制作软件seo 深圳
  • 新闻网站开发背景搜索竞价托管