v3.0.6
This commit is contained in:
56
source/wx/xzs-student/component/iView/checkbox/index.js
Normal file
56
source/wx/xzs-student/component/iView/checkbox/index.js
Normal file
@@ -0,0 +1,56 @@
|
||||
const prefixCls = 'i-checkbox';
|
||||
|
||||
Component({
|
||||
externalClasses: ['i-class'],
|
||||
relations: {
|
||||
'../checkbox-group/index': {
|
||||
type: 'parent'
|
||||
}
|
||||
},
|
||||
properties: {
|
||||
value: {
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
checked: {
|
||||
type: Boolean,
|
||||
value: false
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
value: false
|
||||
},
|
||||
color: {
|
||||
type: String,
|
||||
value: '#2d8cf0'
|
||||
},
|
||||
position: {
|
||||
type: String,
|
||||
value: 'left', //left right
|
||||
observer: 'setPosition'
|
||||
}
|
||||
},
|
||||
data: {
|
||||
checked: true,
|
||||
positionCls: `${prefixCls}-checkbox-left`,
|
||||
},
|
||||
attached() {
|
||||
this.setPosition();
|
||||
},
|
||||
methods: {
|
||||
changeCurrent(current) {
|
||||
this.setData({ checked: current });
|
||||
},
|
||||
checkboxChange() {
|
||||
if (this.data.disabled) return;
|
||||
const item = { current: !this.data.checked, value: this.data.value };
|
||||
const parent = this.getRelationNodes('../checkbox-group/index')[0];
|
||||
parent ? parent.emitEvent(item) : this.triggerEvent('change', item);
|
||||
},
|
||||
setPosition() {
|
||||
this.setData({
|
||||
positionCls: this.data.position.indexOf('left') !== -1 ? `${prefixCls}-checkbox-left` : `${prefixCls}-checkbox-right`,
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user