收藏
回答

微信小程序使用三目运算符在多层下嵌套下判断错误?

items.checked === false ? (items.threelist.length <= 3 ? 'height: auto' : 'height: 410rpx') : 'height: auto'

我是动态绑定行内样式的,用uniapp开发在h5端是正常的,然而在小程序下不给了错误的判断,想不通这是为什么么有人解答一下吗,

回答关注问题邀请回答
收藏

2 个回答

  • JSCHEN2005
    JSCHEN2005
    2023-03-23

    <view class="centen-rigth-list" wx:for="{{twostageData}}" wx:for-item="items" wx:key="indexs">

        <view class="">

            <view class="centen-rigth-list-title">

                {{items.name}}

            </view>

            <view class="centen-rigth-list-more" bindtap="more(items)" 

                v-if="items.threelist.length > 6">

                查看更多

                <text class="{{items.checked == false ? 'iconfont tabbar-item-icon icon-jinrujiantou1':'iconfont icon-unfold'}}" 

                style="color: #999999;">

                </text>

            </view>

        </view>

        <view class="centen-item-data" style="height: {{(items.checked || threelist.length <= 3)? 'auto' : '410rpx'}}">

            <view class="centen-item" wx:for="{{items.threelist}}" wx:for-item="itemss" wx:key="indexss" bindtap="classify(itemss)">

                <view class="">

                    <image src="{{itemss.thumb}}" style="width: 100%; height: 100%;"></image>

                </view>

                <view class="">

                    {{itemss.name}}

                </view>

            </view>

        </view>

    </view>

    小程序的一些写法与h5有些区别

    2023-03-23
    有用
    回复 5
    • 神经蛙
      神经蛙
      2023-03-23
      你这样判断有问题,这个判断不是满足其中一个就行了,而是第一个条件满足了之后才回去进行第二个判断,第一个满足之后去执行前面那个条件不满足就执行那个auto,然后第一个满足之后去执行第二个判断,第二个判断满足之后去执行auto,不满足才去执行那个高度,难道还程序还不兼容三目运算符多层嵌套了?
      2023-03-23
      回复
    • JSCHEN2005
      JSCHEN2005
      2023-03-23回复神经蛙
      我只是将你的判断结合了一下呀,当你的checked为true 和 checked=false 且长度小于等于3,你的高度都是auto呀,是我的理解错了吗?
      2023-03-23
      回复
    • 神经蛙
      神经蛙
      2023-03-23回复JSCHEN2005
      虽然都是auto,但触发的事件不一样【笑哭】
      2023-03-23
      回复
    • 神经蛙
      神经蛙
      2023-03-23回复JSCHEN2005
      现在又没有问题了,改了几道改过去改过来,她自然而然有变正常了,应该微信开发者工具的问题或者也有可能是小程序兼容性不行
      2023-03-23
      回复
    • 神经蛙
      神经蛙
      2023-03-23
      不过,还是多谢你的回复了,也提供了多种思路
      2023-03-23
      回复
  • KevyTian
    KevyTian
    2023-03-21

    试试这样:<view :style="{height: (items.checked === false ? (items.threelist.length <= 3 ? 'auto' : '410rpx') : 'auto')}"></view>

    2023-03-21
    有用
    回复 4
    • 神经蛙
      神经蛙
      2023-03-21
      好的,我试试看
      2023-03-21
      回复
    • 神经蛙
      神经蛙
      2023-03-21
      多谢,但是还是没有用,我整体代码是这么写的,但是h5是正常的就小程序有问题,弄了一上午也没搞懂是哪儿的问题,哎
      2023-03-21
      回复
    • JSCHEN2005
      JSCHEN2005
      2023-03-22回复神经蛙
      亲<view class="centen-item-data" :style="{height: (items.checked === false ? (items.threelist.length <= 3 ? 'auto' : '410rpx') : 'auto')}">以上代码改成:<view class="centen-item-data" style="height: {{(items.checked === false ? (items.threelist.length <= 3 ? 'auto' : '410rpx') : 'auto')}}">
      试一下
      2023-03-22
      回复
    • 神经蛙
      神经蛙
      2023-03-22回复JSCHEN2005
      还是判断错误,真就怪了items.threelist.length他这个数组的长度明明都超过3个以上了,结果他还是执行的auto这个,我看了这个数组的长度是存在的,如果不存在的话上面那个更多也会出现错误,但是他没有出现判断错误
      2023-03-22
      回复
登录 后发表内容