diff --git a/CHANGE.md b/CHANGE.md
index a36640bc..a1a85e1f 100644
--- a/CHANGE.md
+++ b/CHANGE.md
@@ -41,3 +41,5 @@ MenuItem 和 Submenu 的 key 改为了 name
Menu 的 activeKey 改为 activeName,openKeys 改为 openNames
### Cascader
Caspanel 的 sublist 从 prop -> data
+### Select
+model 改为 value,支持 v-model
\ No newline at end of file
diff --git a/README.md b/README.md
index 0e707fad..d070cb24 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@
- [x] Checkbox
- [x] Switch
- [ ] Table
-- [ ] Select
+- [x] Select
- [x] Slider
- [ ] DatePicker
- [ ] TimePicker
diff --git a/examples/app.vue b/examples/app.vue
index 0f3fa758..f51ad5a7 100644
--- a/examples/app.vue
+++ b/examples/app.vue
@@ -43,6 +43,7 @@ li + li { border-left: solid 1px #bbb; padding-left: 10px; margin-left: 10px; }
Menu
Spin
Cascader
+ Select
diff --git a/examples/main.js b/examples/main.js
index c3b505ea..db866cc3 100644
--- a/examples/main.js
+++ b/examples/main.js
@@ -136,6 +136,10 @@ const router = new VueRouter({
{
path: '/cascader',
component: require('./routers/cascader.vue')
+ },
+ {
+ path: '/select',
+ component: require('./routers/select.vue')
}
]
});
diff --git a/examples/routers/select.vue b/examples/routers/select.vue
index e774cb0f..96ae0eca 100644
--- a/examples/routers/select.vue
+++ b/examples/routers/select.vue
@@ -1,70 +1,246 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
- {{ item.label }}
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
- {{ item.label }}
-
-
-
+
+
+
+
+ {{ item.label }}
+
+
+
+
+ {{ item.label }}
+
+
+
+
change
+
diff --git a/src/components/select/option-group.vue b/src/components/select/option-group.vue
index ee5a3a28..6dd245ac 100644
--- a/src/components/select/option-group.vue
+++ b/src/components/select/option-group.vue
@@ -2,7 +2,7 @@
{{ label }}
@@ -10,6 +10,7 @@
const prefixCls = 'ivu-select-group';
export default {
+ name: 'OptionGroup',
props: {
label: {
type: String,
@@ -25,7 +26,7 @@
methods: {
queryChange () {
this.$nextTick(() => {
- const options = this.$els.options.querySelectorAll('.ivu-select-item');
+ const options = this.$refs.options.querySelectorAll('.ivu-select-item');
let hasVisibleOption = false;
for (let i = 0; i < options.length; i++) {
if (options[i].style.display !== 'none') {
@@ -37,11 +38,11 @@
});
}
},
- events: {
- 'on-query-change' () {
+ mounted () {
+ this.$on('on-query-change', () => {
this.queryChange();
return true;
- }
+ });
}
};
diff --git a/src/components/select/option.vue b/src/components/select/option.vue
index 471f6a59..bef7dbf3 100644
--- a/src/components/select/option.vue
+++ b/src/components/select/option.vue
@@ -2,9 +2,14 @@
{{ showLabel }}
diff --git a/src/components/select/select.vue b/src/components/select/select.vue
index 297c18f3..f1184ce8 100644
--- a/src/components/select/select.vue
+++ b/src/components/select/select.vue
@@ -2,11 +2,11 @@
-
+
{{ item.label }}
-
+
{{ placeholder }}
{{ selectedSingle }}
@@ -20,31 +20,35 @@
@blur="handleBlur"
@keydown="resetInputState"
@keydown.delete="handleInputDelete"
- v-el:input>
-
+ ref="input">
+
-
-
-
-
+
+
+
+
+
+