zoukankan      html  css  js  c++  java
  • vue 模拟单选多选变色

    1 veu单选li变色

    思路:1动态绑定样式:选中哪个给哪个加类名

    2:给li都添加点击事件,点击事件传参数可以拿到数组对象的的全部

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>vue</title>
        <script src="./lib/vue.js"></script>
    </head>
    
    <body>
        <div id="app">
            <ul>
                <li v-for="(item,index) in datalist" :key="index" 
                @click="changeTgeIndex(index, item.name,item.id)"
                :class="{unsatisfied:unsatisfied,
                    tagActivity: 
                    ratingTageIndex == index}"
                >
                    {{item.name}}
                </li>
            </ul>
    
        </div>
        <script>
            var vm = new Vue({
                el: "#app",
                data: {
                    isShow: true,
                    ratingTageIndex: 0,
                    datalist: [{
                            id: 1,
                            name: 'ddd'
                        },
                        {
                            id: 2,
                            name: 'dfdd'
                        },
                        {
                            id: 3,
                            name: 'dfds'
                        },
                        {
                            id: 4,
                            name: 'dfdsd'
                        },
                        {
                            id: 5,
                            name: 'dfdsf'
                        }
                    ]
                },
                mounted() {
                    console.log("aa")
                },
                methods:{
                    changeTgeIndex(index, name,id){
                        console.log(index,name,id)
                        this.ratingTageIndex = index;
    
                    }
    
                }
            })
        </script>
        <style>
            .unsatisfied{
                    background-color: #f5f5f5;
                    color: #aaa;
                }
                .tagActivity{
                    background-color: #3190e8;
                    color: #fff;
                }
    
    
        </style>
    </body>
    
    </html>
    

    vue多选li变色:

    思路动态绑定class 样式!点击时判断一个新数组里是否含这一项 要不含把这一项加进去数组

    根据数组里是否含这一项判断!去绑定class:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .on {
                color: red;
            }
        </style>
    </head>
    
    <body>
        <div id="app">
            <ul>
                <li :class="{'on':indexList.indexOf(index)>-1}" v-for="(item,index) in heros" @click="change(index)">
                    {{item}}</li>
            </ul>
        </div>
    </body>
    <script src="/lib//vue.js"></script>
    <script>
        new Vue({
            el: "#app",
            data: {
                heros: ['雷恩加尔', '安妮', '沃里克', '德莱厄斯'],
                indexList: []
            },
            methods: {
                change(index) {
                    let arrIndex = this.indexList.indexOf(index);
                    console.log("数组索引", arrIndex)
                    if (arrIndex > -1) {
                        this.indexList.splice(arrIndex, 1)
                    } else {
                        this.indexList.push(index)
                    }
                    console.log("输出数组", this.indexList)
                }
            }
        })
    </script>
    
    </html>
    转载:https://zhuanlan.zhihu.com/p/139794424
    不求大富大贵,但求一生平凡
  • 相关阅读:
    MFC列表控件更改一行的字体颜色
    MFC之sqlite
    MFC笔记10
    MFC---关于string.h相关函数
    MFC笔记8
    MFC笔记7
    MFC笔记6
    MFC笔记5
    MFC笔记4
    MFC笔记3
  • 原文地址:https://www.cnblogs.com/ylblogs/p/15629910.html
Copyright © 2011-2022 走看看