diff --git a/packages/cascader/src/main.vue b/packages/cascader/src/main.vue
index 3f4f91960..c3392f536 100644
--- a/packages/cascader/src/main.vue
+++ b/packages/cascader/src/main.vue
@@ -19,12 +19,14 @@
>
-
+
{{ label }}
@@ -180,7 +182,8 @@ export default {
inputValue: '',
flatOptions: null,
id: generateId(),
- needFocus: true
+ needFocus: true,
+ isOnComposition: false
};
},
@@ -217,6 +220,10 @@ export default {
},
cascaderDisabled() {
return this.disabled || (this.elForm || {}).disabled;
+ },
+ readonly() {
+ const isIE = !this.$isServer && !isNaN(Number(document.documentMode));
+ return !this.filterable || (!isIE && !this.menuVisible);
}
},
@@ -409,6 +416,9 @@ export default {
},
handleBlur(event) {
this.$emit('blur', event);
+ },
+ handleComposition(event) {
+ this.isOnComposition = event.type !== 'compositionend';
}
},