| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import { createOption, destroyOption, assemOption } from './util'
- const props = {
- label: { type: [String, Number, Boolean], default: '' },
- visible: { type: Boolean, default: null },
- disabled: Boolean
- }
- const watch = {}
- Object.keys(props).forEach(name => {
- watch[name] = function (value) {
- this.optionConfig.update(name, value)
- }
- })
- export default {
- name: 'VxeOptgroup',
- props,
- provide () {
- return {
- $xeoptgroup: this
- }
- },
- inject: {
- $xeselect: {
- default: null
- }
- },
- computed: {
- vSize () {
- return this.size || this.$parent.size || this.$parent.vSize
- }
- },
- watch,
- mounted () {
- assemOption(this)
- },
- created () {
- this.optionConfig = createOption(this.$xeselect, this)
- },
- destroyed () {
- destroyOption(this)
- },
- render (h) {
- return h('div', this.$slots.default)
- }
- }
|