小程序
小游戏
企业微信
微信支付
扫描小程序码分享
shoppingId: ["45CD4EBA20CC426598D29F10D3E70992"],
shoppingId是个数组
<icon type='success' size='20' style='margin-right:10px;' wx:if='{{shoppingId.indexOf(item.id)==-1}}' bindtap='rightitemclick' data-position='{{index}}'></icon>
这样出来的结果一直是false,求大神指导
9 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
标签里不支持indexOf方法你怎么写都没用
js里判断不如拿去服务器判断 传给你的数据就是处理好的带标识位的 控制icon显示隐藏这样最合理
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
<wxs module="util">
var inOf = function(list, val) {
return list.split().indexOf(val)
}
module.exports.inOf = inOf;
</wxs>
wx:if='{{util.inOf(shoppingId,item.id)==-1}}'
刚刚测试的结果,wx:if='{{shoppingId.indexOf(item.id)==undefined}}'是true,shoppingId.split().indexOf(item.id)==undefined也一样都是true
确实没有必要在页面里面判断,应该加个falg在js中去判断,谢谢
如果shoppingId是数组的话要转成字符串
shoppingId.split().indexOf(item.id)==-1
把icon循环出来只有item == itemName.id的显示 其余的不显示 都不等于都不显示 有错?(这个性能不咋滴)
orders把这个数据在js里循环一遍 加个flag专门判断icon显示隐藏 没必要非在页面判断
里面的这个icon部分不是用来循环的,因为shoppingId这个数组的值是不动态变化的,我现在是需要通过判断当前循环中的id是否在数组中,来控制icon的显示隐藏。。
<view wx:for="{{orders}}" class='order-item-right' wx:for-item="itemName">
外层wx:for
<icon type='success' size='20' style='margin-right:10px;' wx:for="{{shoppingId}}"
wx:if='{{item == itemName.id}}'
bindtap='rightitemclick' data-position='{{index}}'></icon>
试试这个
<scroll-view scroll-y class="orders-list-order" style='height:{{right_scrollheight}}px' >
<view wx:for="{{orders}}" class='order-item-right'>
<image src='{{item.P_ICON}}' class='order-item-imag'></image>
<view class='order-item-text-right' >
<view class='order-item-right-name'>{{item.P_NAME}}</view>
<view style='display:flex;margin-top: 30px;width:100%;justify-content:space-between'>
<view class='order-item-right-price'>¥{{item.P_PRICE}}</view>
<view style='margin-right:10px;display:flex' wx:else>
<icon type='success' size='20' data-position='{{index}}'></icon>
<view style='padding-left:5px;padding-right:5px;font-size:small'>1</view>
<icon type='success' size='20' bindtap='rightitemclick' data-position='{{index}}'></icon>
</view>
</scroll-view>
循环的标签写全了看看你这个上面是不是还有个wx:for
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
标签里不支持indexOf方法你怎么写都没用
js里判断不如拿去服务器判断 传给你的数据就是处理好的带标识位的 控制icon显示隐藏这样最合理
<wxs module="util">
var inOf = function(list, val) {
return list.split().indexOf(val)
}
module.exports.inOf = inOf;
</wxs>
wx:if='{{util.inOf(shoppingId,item.id)==-1}}'
刚刚测试的结果,wx:if='{{shoppingId.indexOf(item.id)==undefined}}'是true,shoppingId.split().indexOf(item.id)==undefined也一样都是true
确实没有必要在页面里面判断,应该加个falg在js中去判断,谢谢
如果shoppingId是数组的话要转成字符串
shoppingId.split().indexOf(item.id)==-1
把icon循环出来只有item == itemName.id的显示 其余的不显示 都不等于都不显示 有错?(这个性能不咋滴)
orders把这个数据在js里循环一遍 加个flag专门判断icon显示隐藏 没必要非在页面判断
里面的这个icon部分不是用来循环的,因为shoppingId这个数组的值是不动态变化的,我现在是需要通过判断当前循环中的id是否在数组中,来控制icon的显示隐藏。。
<view wx:for="{{orders}}" class='order-item-right' wx:for-item="itemName">
外层wx:for
<icon type='success' size='20' style='margin-right:10px;' wx:for="{{shoppingId}}"
wx:if='{{item == itemName.id}}'
bindtap='rightitemclick' data-position='{{index}}'></icon>
试试这个
<scroll-view scroll-y class="orders-list-order" style='height:{{right_scrollheight}}px' >
<view wx:for="{{orders}}" class='order-item-right'>
<image src='{{item.P_ICON}}' class='order-item-imag'></image>
<view class='order-item-text-right' >
<view class='order-item-right-name'>{{item.P_NAME}}</view>
<view style='display:flex;margin-top: 30px;width:100%;justify-content:space-between'>
<view class='order-item-right-price'>¥{{item.P_PRICE}}</view>
<icon type='success' size='20' style='margin-right:10px;' wx:if='{{shoppingId.indexOf(item.id)==-1}}' bindtap='rightitemclick' data-position='{{index}}'></icon>
<view style='margin-right:10px;display:flex' wx:else>
<icon type='success' size='20' data-position='{{index}}'></icon>
<view style='padding-left:5px;padding-right:5px;font-size:small'>1</view>
<icon type='success' size='20' bindtap='rightitemclick' data-position='{{index}}'></icon>
</view>
</view>
</view>
</view>
</scroll-view>
循环的标签写全了看看你这个上面是不是还有个wx:for