• uni-app实现点击显示隐藏列表,兼容微信小程序


    效果: 

    1. <view class="list-item" v-for="(item,index1) in listData" :key="index1">
    2. <view class="item-title" @click="item.content.length>0?handleToggle(item,index1):''">
    3. <view class="">{{item.title}}view>
    4. <u-icon :name="item.isToggle ? 'arrow-right' : 'arrow-down'">u-icon>
    5. view>
    6. <view class="item-content" v-show="!item.isToggle">
    7. <view class="content-sel" v-for="(c,index2) in item.content" :key="index2">
    8. {{c.title}}
    9. view>
    10. view>
    11. view>

     

    1. listData:[
    2. {
    3. title:"新疆",
    4. isToggle:false,
    5. content:[
    6. {title:"新疆大明矿业1"},
    7. {title:"新疆大明矿业2"}
    8. ],
    9. },
    10. {
    11. title:"山东",
    12. isToggle:false,
    13. content:[
    14. {title:"山东矿业1"},
    15. {title:"山东矿业2"}
    16. ],
    17. }
    18. ],
    1. handleToggle(item,index1){
    2. item.isToggle = !item.isToggle;
    3. console.log(item.isToggle,"item.isToggle")
    4. }

    小程序打印的结果:值一直为true

     

    如果你试过v-if不生效,又试了v-show,还是不行!!千万不要着急!

    不是自己写的不对,而是uni-app和微信小程序修改值的方式不一致造成的。反正就是不承认是自己的问题。

    其实解决的办法也很简单,就是要兼容两端,写出符合让两端都适合的代码 。

    既然这样直接修改值不行,那就从根本出发。

    1. handleToggle(item,index1){
    2. // item.isToggle = !item.isToggle;
    3. this.listData.forEach((item,index)=>{
    4. if(index1 === index){
    5. item.isToggle = !item.isToggle;
    6. }
    7. })
    8. console.log(item,"item.isToggle")
    9. }

  • 相关阅读:
    从源码入手探究一个因useImperativeHandle引起的Bug
    Rust笔记【1】
    大神带你玩转异步编程,理论与实践齐飞,敢说是目前最全的讲解了
    LORA详解
    AVL树的底层实现
    NMS代码(python,C++)
    百文买鸡和水仙花数问题(C#解法)
    解析java实现模拟USB接口的功能
    编写自己的目标跟踪算法
    这不会又是一个Go的BUG吧?
  • 原文地址:https://blog.csdn.net/SmartJunTao/article/details/132582277