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
    不求大富大贵,但求一生平凡
  • 相关阅读:
    90%的人不知道Python炫技的7个骚操作
    想查看微信好友撤回的消息?Python帮你搞定
    Python统计长字符串中字符频次【入门必学】
    用什么库写Python命令行程序?80%的人都用错了
    Python文件操作方法,看这篇就足够
    Python单例模式最佳实战【入门必学】
    学Python,连yield关键字你都不会用就太失败了吧?
    编译原理--引论(四)
    编译原理--引论(三)
    2012年英语一小作文
  • 原文地址:https://www.cnblogs.com/ylblogs/p/15629910.html
Copyright © 2011-2022 走看看