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
};