当前位置:   article > 正文

微信小程序横向滚动条自定义组件_小程序步骤条横向组件

小程序步骤条横向组件
  1. 效果

  1. 组件代码

scroll-tab.wxml

  1. <!--/component/scroll-tab/scroll-tab.wxml-->
  2. <view class="contain-bar">
  3. <scroll-view scroll-x scroll-into-view="{{itemid}}" scroll-with-animation='true' class="scroll-tab" id='scrollTab' >
  4. <view class="scroll-list" animation="{{animation}}">
  5. <view class="scroll-item" wx:for="{{data}}" wx:key="index"
  6. bindtap="translate" id="item{{index}}"
  7. data-index="{{index}}"
  8. data-key="{{item.key}}"
  9. data-msg="{{item}}">
  10. <text style="color:{{activeKey==item.key?activeColor:textColor}}; border-bottom:{{activeKey==item.key?'4rpx solid #ed4861':none}};font-size:26rpx;padding:6rpx 0;">{{item.vulue}}</text>
  11. </view>
  12. </view>
  13. </scroll-view>
  14. </view>

scroll-tab.js

  1. //component/scroll-tab/scroll-tab.js
  2. Component({
  3. /**
  4. * 组件的属性列表
  5. */
  6. properties: {
  7. data: { //要渲染的列表
  8. type: Array,
  9. value: [],
  10. },
  11. activeKey: { //选中的key
  12. type: Number,
  13. value: '',
  14. },
  15. activeColor: { //选中的颜色
  16. type: String,
  17. value: '#ed4861'
  18. },
  19. textColor: {
  20. type: String,
  21. value: '#666'
  22. }
  23. },
  24. /**
  25. * 组件的初始数据
  26. */
  27. data: {
  28. tableft:0,
  29. itemid:null
  30. },
  31. lifetimes: {
  32. attached: function () {
  33. this.animation = wx.createAnimation()
  34. this.tabLeftPostion=0
  35. }
  36. },
  37. /**
  38. * 组件的方法列表
  39. */
  40. methods: {
  41. translate (e) {
  42. let index = e.currentTarget.dataset.index;
  43. this.setData({
  44. activeKey:e.currentTarget.dataset.key,
  45. itemid:'item'+(index-2)
  46. })
  47. var myEventDetail = {data:e.currentTarget.dataset.msg} // detail对象,提供给事件监听函数
  48. var myEventOption = {} // 触发事件的选项
  49. this.triggerEvent('myevent', myEventDetail, myEventOption)
  50. },
  51. }
  52. })

scroll-tab.wxss

  1. /* moduleIndependent/component/scroll-tab/scroll-tab.wxss */
  2. .contain-bar{
  3. height: 98rpx;
  4. width: 100%;
  5. overflow-y: hidden;
  6. }
  7. .scroll-tab{
  8. width: 100%;
  9. height: 110rpx;
  10. line-height: 98rpx;
  11. overflow-y: hidden;
  12. overflow-x: scroll;
  13. z-index: 99;
  14. position: relative;
  15. }
  16. .scroll-list{
  17. word-wrap: normal;
  18. white-space: nowrap;
  19. width: 100%;
  20. background: #fff;
  21. display: inline-block;
  22. position: absolute;
  23. }
  24. .scroll-item{
  25. padding:0 20rpx;
  26. position: relative;
  27. display: inline-block;
  28. color: #666;
  29. }

scroll-tab.json

  1. {
  2. "component": true,
  3. "usingComponents": {}
  4. }
  1. 使用

在要使用的页面引入组件

在wsml中使用组件。

data(tabList)为对象数组,对象中有2个属性key和value,展示的是value,key用于控制选中激活,activeKey为当前选中,bindmyevent为滚动选中事件。

  1. //滚动选中事件
  2. seleteClass(e) {
  3. this.setData({
  4. // 清空页面展示数组,下次查询第一页
  5. pageNum: 1,
  6. informationList: [],
  7. classCode: e.detail.data.key, // 选中值
  8. isLoad: false, //是否加载完成
  9. isShowLoad: true, //是否显示底部加载条
  10. })
  11. // 刷新页面展示
  12. this.getInformationList();
  13. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/233780
推荐阅读
相关标签
  

闽ICP备14008679号