利用vue写一个复选框的组件
HTML
<multicheck :source=tlist :busValue='objInfo.tt' @getTt="getTtInfo"></multicheck> data tlist:[
{value:'A',label:'1'},
{value:'B',label:'2'},
{value:'C',label:'3'},
{value:'D',label:'4'},
{value:'E',label:'5'}
]
methods
getTtInfo:function(par){
this.objInfo.tt= par;
}
子组件:
<template>
<div id="multicheck">
<span v-for='item in source' class="check-item">
<input ref='tt' type="checkbox" :value="item.value" name="tt" @click='updateValue($event.target.value)'>{{item.label}}
</span>
</div>
</template>
<style scoped type="text/css">
.check-item{
display:inline-block;
padding-right:14px;
font-size:14px;
}
</style>
<script>
export default{
name:'multicheck',
props:{
source:{
type:Array
},
busValue:{
type:String
}
},
data(){
return{
ttVal :this.busValue
}
},
computed:{
},
methods:{
busToArr(str){
if(str!=''){
if(str.indexOf(',')==-1){
return [str];
}else{
return str.split(',');
}
}else{
return [];
}
},
busToStr(arr){
return arr.join(',');
},
isInAarrayIndex(arr,e){
var haveAindex={
isHave:false,
index:-1
};
if(arr.length==0){
haveAindex.isHave = false;
haveAindex.index = -1;
return JSON.stringify(haveAindex);
}else{
for(var i=0;i<arr.length;i++){
if(arr[i]==e){
haveAindex.isHave = true;
haveAindex.index = i;
break;
}
}
return JSON.stringify(haveAindex);
}
},
updateValue(value){
var busCurtArr = this.busToArr(this.ttVal);
var haveIndex = JSON.parse(this.isInAarrayIndex(busCurtArr,value))
if(haveIndex.isHave){
busCurtArr.splice(haveIndex.index,1);
}else{
busCurtArr.push(value);
}
busCurtArr.sort();
this.ttVal = this.busToStr(busCurtArr);
this.$emit('getTt', this.busToStr(busCurtArr));
}
},
mounted:function(){
if(this.ttVal!=''){
var busArr = this.busToArr(this.ttVal);
for(var i =0 ;i<busArr.length;i++){
this.$refs.tt.forEach(function(item){
if(item.value == busArr[i]){
item.checked = true;
}
});
}
} } }
</script>
利用vue写一个复选框的组件的更多相关文章
- js做全选,用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false
用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false,当所有checkbox都被选中时,全选按钮也被选中. 详解: 有两种 ...
- 用js判断一个复选框是否被选中
<html> <head> <title> 复选框全选.全不选.反选.必选一个 </title> ...
- vue.js带复选框表单的增删改查
近段时间由于公司项目要求,前端开始使用VUE框架进行开发,最近刚开始学习,做了一个表单的增删改查,和大家分享一下. 页面模型代码设计如下 <template> <div id=&qu ...
- 如何利用jq来实现复选框的全选,反选!
$("document").ready(function(){ $("#btn1").click(function(){ $("[name='chec ...
- vue.js实现单选框、复选框和下拉框
Vue.js可以很方便的实现数据双向绑定,所以在处理表单,人机交互方面具有很大的优势.下边以单选框.复选框和下拉框为例介绍他们在HTML和Vue.js中的具体实现方式. 一.单选框 在传统的HTM ...
- [转]jquery如何判断checkbox(复选框)是否被选中,至少被选中一个
谁都知道 在html 如果一个复选框被选中 是 checked="checked". 但是我们如果用jquery alert($("#id").attr(&qu ...
- Web前端之复选框选中属性
熟悉web前端开发的人都知道,判断复选框是否选中是经常做的事情,判断的方法很多,但是开发过程中常常忽略了这些方法的兼容性,而是实现效果就好 了.博主之前用户不少方法,经常Google到一些这个不好那个 ...
- 在php中验证复选框
PHP接收多个同名复选框信息不像ASP那样自动转换成为数组,这给使用带来了一定不便.但是还是有解决办法的,就是利用javascript做一下预处理.多个同名复选框在javascript中还是以数组的形 ...
- Extjs 3.4 复选框的,默认选中 ,禁用,(纯属于自己代码中需要,总结!)
var sm = new Ext.grid.CheckboxSelectionModel( { //一个特定的选择模型,它将渲染一列复选框,可以用来选择或反选多行数据. ...
随机推荐
- oracle对日期date类型操作的函数
无论是DATE还是timestamp都可以进行加减操作 加一个简单的数来增加天 max,min来求其最大最小日期 avg,sum就只能先转成数字类型才可用 使用内置函数add_months来增加年和月 ...
- Django-认证系统
一.Django实现cookie与session 一.Django实现的cookie 1.获取cookie request.COOKIES['key'] request.get_signed_cook ...
- 10.26 配置psplkf小程序
环境 服务器 Win Server 2008,nginx, maven, psplkf 标准的mvn工程,可以使用eclipse,导入,file-import-maven project就行, 但是我 ...
- Node.js进击基础一(5-5http知识填坑)
蚂蚁部落:谷歌浏览器network用法详解 http://www.softwhy.com/forum.php?mod=viewthread&tid=19119 按下f12->Networ ...
- python字典对与list对象组合使用小问题
遇到的低级错误,做个小记录,防止下次在陷进去........ 两行数据,分别每行做为一个字典,存传在list中,但是现在问题来了,第二行的数据会覆盖第一行.结果就是,list存储了的两个元素的数据一样 ...
- webpack的使用一
1.为什么使用webpack 模块化,让我们可以把复杂的程序细化为小的文件; 类似于TypeScript这种在JavaScript基础上拓展的开发语言:使我们能够实现目前版本的JavaScript不能 ...
- DW表格的简单应用 之(个人简历模板)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- struts2启动时,出现的com.opensymphony.xwork2.util.finder.ClassFinder - Unable to read class 错误解决办法
在项目的struts.xml文件中第一行加入<constant name="struts.convention.package.locators" value="c ...
- mysql制造大量测试数据心得
为了测试1000万条数据的查询性能,就需要1000万条数据,于是在我们做的项目的一个游客表的一条记录的基础上来制造. 1.使用mysql的while循环语句,比如手机号的循环,还有一些随机数,比如性别 ...
- Python全栈-day6-day7-字符编码和文件处理
一.字符编码 1.编码基础 定义:人在使用计算机时,使用的是人类能够读懂的字符,使用者必须通过一张字符和数字间的相对应关系表实现人机交互,这一系列标准称为字符编码 Python应用中解决核心字符串乱码 ...