未验证 提交 5d30d9b4 编写于 作者: Z zhanshu152 提交者: GitHub

Create checkbox-group.js

add checkbox-group.js
上级 c10346b7
import {
emitter,
listeners
} from '../mixins'
function getCheckboxGroup (weex) {
return {
name: 'CheckboxGroup',
mixins: [emitter, listeners],
props: {
name: {
type: String,
default: ''
}
},
data () {
return {
checkboxList: []
}
},
listeners: {
'@checkbox-change': '_changeHandler',
'@checkbox-group-update': '_checkboxGroupUpdateHandler'
},
created () {
this.$dispatch('Form', 'uni-form-group-update', {
type: 'add',
vm: this
})
},
beforeDestroy () {
this.$dispatch('Form', 'uni-form-group-update', {
type: 'remove',
vm: this
})
},
methods: {
_changeHandler ($event) {
const value = []
this.checkboxList.forEach(function (vm) {
if (vm.checkboxChecked) {
value.push(vm.value)
}
})
this.$trigger('change', {
value: value
})
},
_checkboxGroupUpdateHandler ($event) {
if ($event.type === 'add') {
this.checkboxList.push($event.vm)
//global .nativeLog(JSON.stringify(this.checkboxList))
//global .nativeLog('checkboxList 更新')
}
else {
const index = this.checkboxList.indexOf($event.vm)
this.checkboxList.splice(index, 1)
}
},
_getFormData () {
const data = {}
if (this.name !== '') {
const value = []
this.checkboxList.forEach(function (vm) {
if (vm.checkboxChecked) {
value.push(vm.value)
}
})
data['value'] = value
data['key'] = this.name
}
return data
}
},
render (createElement) {
const _vm = this
return createElement('div', _vm._g({
staticClass: ['uni-checkbox-group']
}, _vm.$listeners), [_vm._t('default')], 2)
},
style: {}
}
}
export default function init (Vue, weex) {
Vue.component('checkbox-group', getCheckboxGroup(weex))
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册