diff --git a/packages/radio-group/index.js b/packages/radio-group/index.js index 596da9a2c..6f65c1c39 100644 --- a/packages/radio-group/index.js +++ b/packages/radio-group/index.js @@ -1,3 +1,3 @@ -import RadioGroup from '../cell/src/radio-group'; +import RadioGroup from 'packages/radio/src/radio-group'; export default RadioGroup; diff --git a/packages/radio/src/radio-group.vue b/packages/radio/src/radio-group.vue index 0327fa3d1..157922b3b 100644 --- a/packages/radio/src/radio-group.vue +++ b/packages/radio/src/radio-group.vue @@ -6,6 +6,10 @@ diff --git a/packages/radio/src/radio.vue b/packages/radio/src/radio.vue index be88dbedb..cae6c3e9d 100644 --- a/packages/radio/src/radio.vue +++ b/packages/radio/src/radio.vue @@ -4,6 +4,10 @@ :class="{ 'is-disabled': disabled }"> + + + + @@ -22,10 +26,37 @@ export default { props: { disabled: Boolean, - value: {} + value: {}, + parentGroup: null }, - created() { + computed: { + isGroup() { + let parent = this.$parent; + while (parent) { + if (parent.$options.name === 'z-radio-group') { + this.parentGroup = parent; + return true; + } else { + parent = parent.$parent; + } + } + return false; + }, + + model: { + get() { + return this.isGroup ? this.parentGroup.value : this.value; + }, + + set(val) { + if (this.isGroup) { + + } else { + this.$emit('input', val); + } + } + } } }; diff --git a/packages/zanui-css/src/radio.pcss b/packages/zanui-css/src/radio.pcss new file mode 100644 index 000000000..c8ec135cd --- /dev/null +++ b/packages/zanui-css/src/radio.pcss @@ -0,0 +1,5 @@ +@component-namespace z { + @b radio { + + } +} diff --git a/src/index.js b/src/index.js index dc0270226..4fa0815ec 100644 --- a/src/index.js +++ b/src/index.js @@ -8,6 +8,7 @@ import CellGroup from '../packages/cell-group/index.js'; import Popup from '../packages/popup/index.js'; import Dialog from '../packages/dialog/index.js'; import Picker from '../packages/picker/index.js'; +import RadioGroup from '../packages/radio-group/index.js'; // zanui import '../packages/zanui-css/src/index.pcss'; @@ -23,6 +24,7 @@ const install = function(Vue) { Vue.component(CellGroup.name, CellGroup); Vue.component(Popup.name, Popup); Vue.component(Picker.name, Picker); + Vue.component(RadioGroup.name, RadioGroup); }; // auto install @@ -42,5 +44,6 @@ module.exports = { CellGroup, Popup, Dialog, - Picker + Picker, + RadioGroup };