vhb-table
Version:
一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、贼灵活的配置项、扩展接口等...
43 lines (41 loc) • 1.05 kB
JavaScript
import GlobalConfig from '../../v-h-b-table/src/conf'
export default {
name: 'VhbCheckboxGroup',
props: {
value: Array,
disabled: Boolean,
size: { type: String, default: () => GlobalConfig.checkbox.size || GlobalConfig.size }
},
provide () {
return {
$xecheckboxgroup: this
}
},
computed: {
vSize () {
return this.size || this.$parent.size || this.$parent.vSize
}
},
render (h) {
const { $scopedSlots } = this
return h('div', {
class: 'vhb-checkbox-group'
}, $scopedSlots.default ? $scopedSlots.default.call(this, {}) : [])
},
methods: {
handleChecked (params) {
const { checked, label } = params
const checklist = this.value || []
const checkIndex = checklist.indexOf(label)
if (checked) {
if (checkIndex === -1) {
checklist.push(label)
}
} else {
checklist.splice(checkIndex, 1)
}
this.$emit('input', checklist)
this.$emit('change', Object.assign({ checklist }, params))
}
}
}