diff --git a/src/cascader/Cascader.jsx b/src/cascader/Cascader.jsx
index b536f66d1..b180f25b8 100644
--- a/src/cascader/Cascader.jsx
+++ b/src/cascader/Cascader.jsx
@@ -162,6 +162,8 @@ class Cascader extends Component {
   }
 
   handlePick(value: [], close: boolean = true) {
+    const { form } = this.context;
+
     this.setState({
       currentValue: value
     });
@@ -173,6 +175,8 @@ class Cascader extends Component {
     if (this.props.onChange) {
       this.props.onChange(value);
     }
+
+    form && form.onFieldChange();
   }
 
   handleInputChange(value: any) {
@@ -225,7 +229,7 @@ class Cascader extends Component {
 
   highlightKeyword(label: string, keyword: string): any {
     return label.split(keyword).map((node, index) => index === 0 ? node : [
-      ({keyword}),
+      ({keyword}),
       node
     ]);
   }
@@ -369,6 +373,10 @@ Cascader.childContextTypes = {
   component: PropTypes.any
 };
 
+Cascader.contextTypes = {
+  form: PropTypes.any
+};
+
 Cascader.propTypes = {
   options: PropTypes.arrayOf(PropTypes.shape({
     value: PropTypes.string