vue v-for循环列表、vue循环列表、点击显示隐藏、点击展开隐藏

css:

.listTitle{width: 7.5rem;height: 1rem;margin: auto;display: flex;align-items: center;justify-content: space-between;border-bottom: 1px solid #eee;}
.listContent{background: #eee;height: 1rem;}

html:

复制代码
<div id="demo">
        <div v-for="(item,index) in data_list" @click="isShow(index)">
            <div class="listTitle">
                <p>{{item.title}}</p>
                <p>></p>
            </div>
            <div class="listContent" v-if="idx==index">{{item.content}}</div>
        </div>
</div>
复制代码

js:

复制代码
<script>
        new Vue({
            el:"#demo",
            data(){
                return{
                    data_list:[
                        {
                            title:"苹果",
                            content:"这是一个很甜的苹果"
                        },
                        {
                            title:"西瓜",
                            content:"这是一个很甜的西瓜"
                        },
                        {
                            title:"哈密瓜",
                            content:"这是一个很甜的哈密瓜"
                        },
                    ],
                    is_show:false,
                    idx:-1
                }
            },
            methods:{
                isShow(index){
                    console.log(index)
                    // this.idx=index  //这种情况点击后显示内容,再次点击不起作用
                    this.idx=this.idx==index?-1:index  //这种情况点击后显示内容,再次点击隐藏
                }
            },
            created(){
                
            },
            mounted(){

            }
        })
</script>
复制代码

效果图:

posted @   eternityQSL  阅读(993)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示