vue点击切换颜色

  • 只能点击一个

    <!doctype html>

      <head>
    <meta charset="UTF-8">
    <title>修改资料--类别</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <link href="../../css/mui.min.css" rel="stylesheet" />
    <link rel="stylesheet" href="../../css/modify-categroy.css" />
    </head> <body>
    <div id="categroy" v-cloak>
    <header class="mui-bar mui-bar-nav">
    <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
    <h1 class="mui-title">类别</h1>
    <span class="mui-save mui-pull-right">保存</span>
    </header>
    <div class="mui-content">
    <div class="categroy-box" >
    <span class="categroy-btn " v-for="(item,index) in items" :class='{active:changeActive == index }' @tap="isActive(index)">{{item.msg}}</span>
    </div>
    </div>
    <p>最多可选择三项</p>
    </div>
    <script src="../../js/mui.min.js"></script>
    <script src="../../js/vue.js"></script>
    <script type="text/javascript">
    mui.init()
    var categroy = new Vue({
    el:'#categroy',
    data:{
    items:[{
    msg: '电影'
    },{
    msg: '剧集'
    },{
    msg: '综艺'
    },{
    msg: 'MV'
    },{
    msg: '记录'
    },{
    msg: '广告'
    },{
    msg: 'VR'
    },{
    msg: '动漫'
    },{
    msg: '其他'
    }
    ],
    changeActive:0
    },
    mounted:function() { },
    methods: {
    isActive:function(index) {
    var _this = this;
    _this.changeActive = index;
    }
    }
    })
    </script>
    </body>

less

  • 用less实现

      #categroy {
    .mui-bar {
    background: #fff;
    box-shadow: none;
    border-bottom: 1px solid #c8c7cc;
    .mui-icon {
    color: #c8c7cc;
    }
    .mui-save {
    padding: 14px 10px;
    margin: 0 -10px;
    font-size: 14px;
    } }
    .mui-content {
    width: 100%;
    height: 100%;
    background: #ffffff;
    .categroy-box {
    margin: 13px 30px;
    .categroy-btn {
    display: inline-block;
    width: 23%;
    line-height: 2;
    margin: 0 5px 8px 0;
    text-align: center;
    font-size: 1.6rem;
    }
    .active {
    border-radius: 16px;
    color: #ffffff;
    background: #0189ff;
    } }
    }
    p {
    margin: 12px 0 0 20px;
    font-size: 1.6rem;
    } }

vue点击切换颜色限制个数

<!doctype html>
<html> <head>
<meta charset="UTF-8">
<title>修改资料--类别</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="../../css/mui.min.css" rel="stylesheet" />
<link rel="stylesheet" href="../../css/modify-categroy.css" />
</head> <body>
<div id="categroy" v-cloak>
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">类别</h1>
<span class="mui-save mui-pull-right">保存</span>
</header>
<div class="mui-content">
<div class="categroy-box" >
<span class="categroy-btn " v-for="(item,index) in items" :class='{active:item.checked }' @tap="isActive(item)">{{item.msg}}</span>
</div>
</div>
<p>最多可选择三项</p>
</div>
<script src="../../js/mui.min.js"></script>
<script src="../../js/vue.js"></script>
<script type="text/javascript">
mui.init()
var categroy = new Vue({
el:'#categroy',
data:{
items:[{
msg: '电影'
},{
msg: '剧集'
},{
msg: '综艺'
},{
msg: 'MV'
},{
msg: '记录'
},{
msg: '广告'
},{
msg: 'VR'
},{
msg: '动漫'
},{
msg: '其他'
}
]
},
mounted:function() { },
methods: {
isActive:function(item) {
var _this = this;
var a = document.getElementsByClassName('active');
//如果active class的checked是否存在
if(typeof item.checked == 'undefined') {
if(a.length<3){
console.log(a.length)
//全局创建
//Vue.set(item,'checked',true);
//局部创建
_this.$set(item,'checked',true);
}else {
mui.toast('最多选择三项')
}
}else{
item.checked = !item.checked;
}
}
}
})
</script>
</body> </html>

vue点击切换颜色限制个数(用了mui框架)的更多相关文章

  1. vue点击切换样式,点击切换地址栏,点击显示或者隐藏

    1. vue点击显示切换 :class='{"span":index==0}' class原本是 类选择器 加上 :class就是绑定属性的意思 '{"span" ...

  2. vue实现简单的点击切换颜色

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. Vue点击切换class

    <style> .active{ color: red; } </style> <ul id="app"> <li v-for='(ite ...

  4. Vue点击切换Class变化,实现Active当前样式

    刚自学Vue不久,所以还不太熟,所以直接上代码. 一.先在data里增加一个变量,用来储存当前点击的元素 data() { return { activeClass: -1, // 0为默认选择第一个 ...

  5. 55.UIbutton点击切换颜色

    #import "ViewController.h" #define width_w     [UIScreen mainScreen].bounds.size.width #de ...

  6. vue 点击切换图标

    <div @click="showImg" class="showSearch"> <img class="header_img&q ...

  7. Vue实现active点击切换

    Vue实现active点击切换 循环的情况: 1.点击时传入index索引(获取当前点击的是哪个) @click=“active(index)” 2.将索引值传入class(索引等于几就第几个添加ac ...

  8. VUE小练习(按钮颜色,数组映射)

    VUE小练习(按钮颜色,数组映射) ## 1.有红.黄.蓝三个按钮,以及一个200x200矩形框box, 点击不同的按钮,box的颜色会被切换成指定的颜色 ''' 解法一:我本来的思路,把三个按钮绑定 ...

  9. vue实现选项卡切换--不用ui库

    vue的ui库中基本都有选项卡切换的组件,但是在项目开发过程中却不一定能很好的为我们所用,因为里面的样式和 一些状态并不能很好的根据我们的项目需求进行定制.最近项目中使用的是vant-ui中的标签页, ...

随机推荐

  1. bzoj2165: 大楼 (矩阵快速幂)

    //========================== 蒟蒻Macaulish:http://www.cnblogs.com/Macaulish/  转载要声明! //=============== ...

  2. POJ3243:Clever Y——题解

    http://poj.org/problem?id=3243 求最小的非负整数y满足x^y=k(mod z) 写完板子之后等待了半个小时poj才终于进入…… poj不行啊.jpg 以前一直觉得BSGS ...

  3. POJ1273:Drainage Ditches——题解

    http://poj.org/problem?id=1273 题目大意: n点m边网络流,求1-n最大流. —————————————— 网络流板子,切了. #include <cstdio&g ...

  4. BZOJ3165 & 洛谷4097:[HEOI2013]Segment——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=3165 https://www.luogu.org/problemnew/show/P4097 要求 ...

  5. LOJ6346:线段树:关于时间 ——题解

    https://loj.ac/problem/6346 题目还是没法粘贴…… 一道蛮不错的题. 老年选手困了30min后才想要推式子实在是太懒了…… 我们可以对每次更新列表看成系数*x即可. 举例:第 ...

  6. BZOJ1046 [HAOI2007]上升序列 【LIS + 字典序最小】

    1046: [HAOI2007]上升序列 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 5410  Solved: 1877 [Submit][St ...

  7. bzoj3224: Tyvj 1728 普通平衡树(打个splay暖暖手)

    (其实今天好热啊? 题目大意:插入,删除,k小,前驱后继,数的排名. splay和treap裸题...过几天补个treap的 splay: #include<iostream> #incl ...

  8. 【P2602】【ZJOI2012】数字计数

    传送门 Description 给定两个正整数\(a\)和\(b\),求在\([a,b]\)中的所有整数中,每个数码(\(digit\))各出现了多少次. Input 两个正整数\(a,b\) Out ...

  9. Basic Data Structure HDU - 5929 (这个模拟我要报警了)

    Mr. Frog learned a basic data structure recently, which is called stack.There are some basic operati ...

  10. bzoj 4725 [POI2017]Reprezentacje ró?nicowe 暴力

    [POI2017]Reprezentacje ró?nicowe Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 141  Solved: 67[Sub ...