tabs数组对象下的值进行条件判断并修改属性值 isActive数组对象属性,v数组对象,i遍历下标
tabsforEach((v,i)=>i===indexvisActive=true:visActive=false);
collect数组对象下的值进行条件判断并修改属性值 goods_id数组对象属性,v数组对象,有一个满足的查询到了返回true
collectsome(v => vgoods_id === thisGoodsInfogoods_id);
//every必须每个都满足 否则是false
Arrayevery()
先前看到网上不少大神写的demo,其菜单栏主要以 A,B,C,D等字母为主,即A,B,C,D等字母为对应该项携带的 id(id不能为汉字或纯数字)。而笔者现在写的项目菜单栏为汉字,所以需要改变数据格式,进而需要改变 wxml 中的循环嵌套和获取。以下为成型后效果,希望对读者有帮助。
实现该功能的思路:通过点击左侧滑栏的某一项,获取到该元素携带的 id ,然后动态传给右侧滑栏的 scroll-into-view ,从而实现右侧滑栏对应的该元素运动置顶。
以下为完整数据
数据格式:
/ pages/listers/listerswxss /
/ pages/list-1/list-1wxss /
/ 总体主盒子 /
container {
position: relative;
width: 100%;
height: 1220rpx;
background-color: #f0f4f7;
color: #939393;
}
/ 左侧栏主盒子 /
nav_left{
/ 设置行内块级元素(没使用定位) /
display: inline-block;
width: 100%;
height: 100%;
/ 主盒子设置背景色为灰色 /
background: #fff;
text-align: center;
/ position: fixed; /
left: 0;
top: 0;
border-top: 1rpx solid #dedede;
}
/ 左侧栏list的item /
nav_left nav_left_items{
background: #fff;
/ 每个高30px /
height: 80rpx;
/ 垂直居中 /
line-height: 80rpx;
/ 再设上下padding增加高度,总高42px /
padding: 15rpx 0;
/ 只设下边线 /
border-bottom: 1px solid #dedede;
/ 文字14px /
font-size: 29rpx;
color: #101010;
font-weight:
}
/ 左侧栏list的item被选中时 /
nav_left nav_left_itemsactive{
/ 背景色变成白色/
background: #f0f4f7;
color: #ed1000;
}
/ 右侧栏主盒子 /
scroll_right{
/ 右侧盒子使用了绝对定位 /
position: fixed;
top: 0;
right: 0;
overflow: auto;
flex: 1;
/ 宽度75%,高度占满,并使用百分比布局 /
width: 75%;
height: 100%;
padding: 20rpx;
box-sizing: border-box;
background-color: #f0f4f7;
border-top: 1rpx solid #dedede;
}
mink::after{
display:block;content:'';clear:both;
}
jiul,jiul image{
width: 100%;
height: 170rpx;
}
minl{
font-size: 29rpx;
color: #777;
text-align: left;
line-height: 60rpx;
float: left;
background: #f0f4f7;
width: 100%;
/ height: 50rpx; /
}
mink{
width: 100%;
background: #fff;
height: 100%;
}
/ 右侧栏list的item /
nav_right_items{
/ 浮动向左 /
float: left;
/ 每个item设置宽度是3333% /
width: 50%;
/ height: 160rpx; /
text-align: center;
color: #4a4a4a;
background: #fff;
}
nav_right_items image{
/ 被设置宽高 /
width: 60px;
height: 50px;
margin-top: 15rpx;
}
nav_right_items text{
/ 给text设成块级元素 /
display: block;
margin-top: 5rpx;
margin-bottom: 10rpx;
font-size: 26rpx;
/ 设置文字溢出部分为 /
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/ 自定义其他点击态样式类 /
other-navigator-hover{
background:#fff;
}
scroll_left{
width:25%;
height:100%;
background:#fff;
text-align:center;
position: fixed;
left: 0;top: 0
}
```
<!-- 滚动图 -->
<view class="swiper" style="position:relative">
<swiper autoplay="{{true}}" circular="{{true}}" onChange="currentHandle">
<block a:for="{{swiperList}}">
<swiper-item class="swiper-box">
<view class="swiper-item" style="width:100%;height:300rpx">
<!-- lazy-load根据需要 onTap可以点击跳转 data-url绑定到跳转的链接-->
<image lazy-load="{{true}}" mode="scaleToFill" src="{{itemimage}}" style="display:flex;width:100%;height:300rpx"
onTap="swiper" data-url="{{itemurl}}" data-index='{{index}}' />
</view>
</swiper-item>
</block>
</swiper>
<!-- 圆点 -->
<view class="swiper_dot">
<view class="trans MR10 {{current === index 'active': ''}}" a:for="{{swiperList}}" a:key="{{index}}"></view>
</view>
</view>
```
```
data(){
swiperList:[
{
image:'',//的路径
url:""//要跳转的路径
},
{
image:'',
url:""
}
],
current: 0,//初始化dot
},
//监听current
currentHandle(e) {
consolelog(e)
//改变current的值
let { current } = edetail
thissetData({
current
})
},
```
```
swiper-box {
padding: 0 30rpx;
}
swiper-item {
border-radius: 10rpx;
overflow: hidden;
}
swiper_dot {
display: flex;
flex: 1;
justify-content: center;
position: absolute;
bottom: 16rpx;
left: 42%;//通过绝对定位 在滚动图的正下方 具体看自己
}
MR10 {
margin-right: 10rpx;
}
trans {
width: 23rpx;
height: 8rpx;
background-color: #ffffff70;
border-radius: 35rpx;
transition: width 05s linear;
}
active {
background-color: #ffffffd7;
width: 67rpx;
transition: width 05s linear;
}
```
---转自我的自个的
支付宝小程序Swiper 滚动图 带圆点和跳转方式_多甘范科夫斯基的博客-CSDN博客
swiper组件的常用属性
属性 类型 默认值 说明
indicator-dots boolean false 是否显示面板指示点
indicator-color color rgba(0,0,0,3) 指示点颜色
indicator-active-color color #O000oo 当前选中的指示点颜色
autoplay boolean false 是否自动切换
interval number 5000 自动切换时间间隔
circular boolean false 是否采用衔接滑动`
二、按钮
通过type属性指定按钮颜色类型
<button>普通按钮</button>
<button type="primary">主色调按钮</button>
<button type="warn">警告按钮</button>
size="mini" 小尺寸按钮同一行
<button size="mini">普通按钮</button>
<button type="primary" size="mini">主色调按钮</button>
<button type="warn" size="mini">警告按钮</button>
plain 镂空按钮
<button plain>普通按钮</button>
<button type="primary" plain>主色调按钮</button>
<button type="warn" plain>警告按钮</button>
data: {
inputVal : '',
storageVal:''
},
bindkeyInput: function (e) {
let {detail: { value } } = e;
thissetData({
inputVal: value
})
},
cun:function(){
let arr=['name','age','sex'];
let i =Mathfloor(Mathrandom()(2-0+1)+0);
/ 异步取缓存的值必须在回调函数里面取 同的直接=即可 /
wxsetStorage({
key:'myname',
data:'我是小超人',
success:function(){
consolelog('我成功了');
}
})
/ 同步的存起来 /
/ 相同的key会把值覆盖 /
/ wxsetStorageSync('username', thisdatainputVal) /
wxsetStorageSync(arr[i],thisdatainputVal)
},
qu:function(){
thissetData({
/ 同步的取缓存的值 /
/ 浏览器中的缓存存进去的都是字符串,小程序里的缓存可以存字符串,数组和对象 /
/ undefined存进去是字符串 null存进去是null类型 Symbol存进去是Symbol类型 /
/ storageVal:wxgetStorageSync('username') /
storageVal:wxgetStorageSync('sex')
})
},
delSex:function(){
/ 同步删除指定的某一个缓存 /
wxremoveStorageSync('sex')
},
delAll:function(){
wxclearStorageSync()
},
手写程序代码。
1、首先在json中调用van-tab组件。
2、在js中对菜单进行设置。option:设置菜单内容;value:设置菜单内容的排列顺序。
3、最后,在wxml中实现,Active-color设置选中状态颜色;Value设置排列顺序;Option菜单内容。
注册开发者账号: >
以上就是关于微信小程序数组 *** 作全部的内容,包括:微信小程序数组 *** 作、小程序微信商品列表的左右联动、支付宝小程序Swiper 滚动图 带圆点和跳转方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)