Blame view

pages/component/checkbox/checkbox.vue 2.11 KB
4b045f7c   刘淇   江阴初始化项目
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
  <template>
  	<view>
  		<page-head :title="title"></page-head>
  		<view class="uni-padding-wrap uni-common-mt">
  			<view class="uni-title uni-common-mt">默认样式</view>
  			<view>
  				<checkbox-group>
  					<label>
  						<checkbox value="cb1" checked="true" />选中
  					</label>
  					<label>
  						<checkbox value="cb" />未选中
  					</label>
  				</checkbox-group>
  			</view>
  			<view class="uni-title uni-common-mt">不同颜色和尺寸的checkbox</view>
  			<view>
  				<checkbox-group>
  					<label>
  						<checkbox value="cb1" checked="true" color="#FFCC33" style="transform:scale(0.7)" />选中
  					</label>
  					<label>
  						<checkbox value="cb" color="#FFCC33" style="transform:scale(0.7)" />未选中
  					</label>
  				</checkbox-group>
  			</view>
  		</view>
  
  		<view class="uni-padding-wrap">
  			<view class="uni-title uni-common-mt">
  				推荐展示样式
  				<text>\n使用 uni-list 布局</text>
  			</view>
  		</view>
  		<view class="uni-list">
  			<checkbox-group @change="checkboxChange">
  				<label class="uni-list-cell uni-list-cell-pd" v-for="item in items" :key="item.value">
  					<view>
  						<checkbox :value="item.value" :checked="item.checked" />
  					</view>
  					<view>{{item.name}}</view>
  				</label>
  			</checkbox-group>
  		</view>
  	</view>
  </template>
  <script>
  	export default {
  		data() {
  			return {
  				title: 'checkbox 复选框',
  				items: [{
  						value: 'USA',
  						name: '美国'
  					},
  					{
  						value: 'CHN',
  						name: '中国',
  						checked: 'true'
  					},
  					{
  						value: 'BRA',
  						name: '巴西'
  					},
  					{
  						value: 'JPN',
  						name: '日本'
  					},
  					{
  						value: 'ENG',
  						name: '英国'
  					},
  					{
  						value: 'FRA',
  						name: '法国'
  					}
  				]
  			}
  		},
  		methods: {
  			checkboxChange: function (e) {
  				var items = this.items,
  					values = e.detail.value;
  				for (var i = 0, lenI = items.length; i < lenI; ++i) {
  					const item = items[i]
  					if(values.indexOf(item.value) >= 0){
  						this.$set(item,'checked',true)
  					}else{
  						this.$set(item,'checked',false)
  					}
  				}
  			}
  		}
  	}
  </script>
  
  <style>
  .uni-list-cell {
  	justify-content: flex-start
  }
  </style>