index.js 1003 Bytes
Newer Older
李嘉林 committed
1 2
import { VantComponent } from '../common/component';
VantComponent({
程默 committed
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
  field: true,
  relation: {
    name: 'radio-group',
    type: 'ancestor',
    current: 'radio',
  },
  classes: ['icon-class', 'label-class'],
  props: {
    name: null,
    value: null,
    disabled: Boolean,
    useIconSlot: Boolean,
    checkedColor: String,
    labelPosition: {
      type: String,
      value: 'right',
李嘉林 committed
19
    },
程默 committed
20 21 22 23
    labelDisabled: Boolean,
    shape: {
      type: String,
      value: 'round',
李嘉林 committed
24
    },
程默 committed
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
    iconSize: {
      type: null,
      value: 20,
    },
  },
  methods: {
    emitChange(value) {
      const instance = this.parent || this;
      instance.$emit('input', value);
      instance.$emit('change', value);
    },
    onChange() {
      if (!this.data.disabled) {
        this.emitChange(this.data.name);
      }
    },
    onClickLabel() {
      const { disabled, labelDisabled, name } = this.data;
      if (!disabled && !labelDisabled) {
        this.emitChange(name);
      }
    },
  },
李嘉林 committed
48
});