This is an automated email from the ASF dual-hosted git repository.

dengliming pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu-dashboard.git


The following commit(s) were added to refs/heads/master by this push:
     new 094e1a1c Add a quick clear button to all Input components to improve 
operational efficiency (#317)
094e1a1c is described below

commit 094e1a1c8c2788388a5df28555f2a877f0cc7ae3
Author: Kerwin Bryant <[email protected]>
AuthorDate: Tue Aug 15 17:28:45 2023 +0800

    Add a quick clear button to all Input components to improve operational 
efficiency (#317)
---
 src/components/GlobalHeader/index.js                        |  6 +++---
 src/routes/Document/components/AddAndUpdateApiDoc.js        | 13 +++++++++++--
 src/routes/Document/components/AddAndUpdateTag.js           |  8 ++++----
 src/routes/Document/components/ApiDebug.js                  |  1 +
 src/routes/Plugin/Common/CommonRuleHandle.js                |  4 +++-
 src/routes/Plugin/Common/Rule.js                            |  4 ++++
 src/routes/Plugin/Common/Selector.js                        | 12 +++++++++---
 src/routes/Plugin/Discovery/DiscoveryConfigModal.js         |  3 +++
 src/routes/Plugin/Discovery/ProxySelectorModal.js           |  8 ++++++++
 src/routes/Plugin/Discovery/UpstreamTable.js                |  2 +-
 .../Plugin/PluginRuleHandle/GeneralContextRuleHandle.js     |  2 ++
 src/routes/Plugin/PluginRuleHandle/HystrixRuleHandle.js     | 10 ++++++++++
 src/routes/Plugin/PluginRuleHandle/ParamPluginRuleHandle.js |  1 +
 src/routes/Plugin/PluginRuleHandle/RequestRuleHandle.js     |  3 +++
 src/routes/Plugin/PluginRuleHandle/ResponseRuleHandle.js    |  1 +
 src/routes/System/AppAuth/AddModal.js                       | 10 ++++++----
 src/routes/System/AppAuth/AddTable.js                       |  9 +++++----
 src/routes/System/AppAuth/SearchContent.js                  |  2 ++
 src/routes/System/Dict/AddModal.js                          | 10 +++++-----
 src/routes/System/Dict/index.js                             |  3 +++
 src/routes/System/Metadata/AddModal.js                      | 12 ++++++------
 src/routes/System/Metadata/index.js                         |  1 +
 src/routes/System/Plugin/AddModal.js                        |  7 ++++---
 src/routes/System/Plugin/index.js                           |  1 +
 src/routes/System/PluginHandle/AddModal.js                  | 12 ++++++------
 src/routes/System/PluginHandle/index.js                     |  1 +
 src/routes/System/Resource/AddModal.js                      |  7 ++++---
 src/routes/System/Resource/IconModal.js                     |  1 +
 src/routes/System/Role/AddModal.js                          |  2 +-
 src/routes/System/Role/index.js                             |  1 +
 src/routes/System/User/AddModal.js                          |  4 ++--
 src/routes/System/User/index.js                             |  1 +
 32 files changed, 114 insertions(+), 48 deletions(-)

diff --git a/src/components/GlobalHeader/index.js 
b/src/components/GlobalHeader/index.js
index 40444f98..61f854a7 100644
--- a/src/components/GlobalHeader/index.js
+++ b/src/components/GlobalHeader/index.js
@@ -207,7 +207,7 @@ class GlobalHeader extends PureComponent {
                     }
                   }
                 ]
-              })(<Input.Password />)}
+              })(<Input.Password allowClear />)}
             </Form.Item>
             <Form.Item
               required
@@ -246,7 +246,7 @@ class GlobalHeader extends PureComponent {
                     }
                   }
                 ]
-              })(<Input.Password />)}
+              })(<Input.Password allowClear />)}
             </Form.Item>
             <Form.Item
               label={getIntlContent("SHENYU.GLOBALHEADER.CONFIRM.PASSWORD")}
@@ -277,7 +277,7 @@ class GlobalHeader extends PureComponent {
                     }
                   }
                 ]
-              })(<Input.Password />)}
+              })(<Input.Password allowClear />)}
             </Form.Item>
           </Form>
         </Modal>
diff --git a/src/routes/Document/components/AddAndUpdateApiDoc.js 
b/src/routes/Document/components/AddAndUpdateApiDoc.js
index 74fb83d6..756ad0b7 100644
--- a/src/routes/Document/components/AddAndUpdateApiDoc.js
+++ b/src/routes/Document/components/AddAndUpdateApiDoc.js
@@ -133,6 +133,7 @@ class AddAndUpdateApiDoc extends Component {
               initialValue: contextPath
             })(
               <Input
+                allowClear
                 placeholder={getIntlContent(
                   "SHENYU.DOCUMENT.APIDOC.CONTEXTPATH"
                 )}
@@ -153,6 +154,7 @@ class AddAndUpdateApiDoc extends Component {
               initialValue: apiPath
             })(
               <Input
+                allowClear
                 placeholder={getIntlContent("SHENYU.DOCUMENT.APIDOC.APIPATH")}
               />
             )}
@@ -195,6 +197,7 @@ class AddAndUpdateApiDoc extends Component {
               initialValue: consume
             })(
               <Input
+                allowClear
                 placeholder={getIntlContent("SHENYU.DOCUMENT.APIDOC.CONSUME")}
               />
             )}
@@ -213,6 +216,7 @@ class AddAndUpdateApiDoc extends Component {
               initialValue: produce
             })(
               <Input
+                allowClear
                 placeholder={getIntlContent("SHENYU.DOCUMENT.APIDOC.PRODUCE")}
               />
             )}
@@ -231,6 +235,7 @@ class AddAndUpdateApiDoc extends Component {
               initialValue: version
             })(
               <Input
+                allowClear
                 placeholder={getIntlContent("SHENYU.DOCUMENT.APIDOC.VERSION")}
               />
             )}
@@ -298,6 +303,7 @@ class AddAndUpdateApiDoc extends Component {
               initialValue: ext
             })(
               <Input
+                allowClear
                 size="large"
                 placeholder={getIntlContent("SHENYU.DOCUMENT.APIDOC.EXT.INFO")}
               />
@@ -317,6 +323,7 @@ class AddAndUpdateApiDoc extends Component {
               initialValue: apiOwner
             })(
               <Input
+                allowClear
                 placeholder={getIntlContent("SHENYU.DOCUMENT.APIDOC.APIOWNER")}
               />
             )}
@@ -335,6 +342,7 @@ class AddAndUpdateApiDoc extends Component {
               initialValue: apiDesc
             })(
               <Input
+                allowClear
                 placeholder={getIntlContent("SHENYU.DOCUMENT.APIDOC.APIDESC")}
               />
             )}
@@ -377,14 +385,15 @@ class AddAndUpdateApiDoc extends Component {
               initialValue: document
             })(
               <Input
+                allowClear
                 placeholder={getIntlContent("SHENYU.DOCUMENT.APIDOC.DOCUMENT")}
               />
             )}
           </Form.Item>
 
-          <Form.Item hidden>{getFieldDecorator("tagIds")(<Input 
/>)}</Form.Item>
+          <Form.Item hidden>{getFieldDecorator("tagIds")(<Input allowClear 
/>)}</Form.Item>
 
-          <Form.Item hidden>{getFieldDecorator("id")(<Input />)}</Form.Item>
+          <Form.Item hidden>{getFieldDecorator("id")(<Input allowClear 
/>)}</Form.Item>
         </Form>
       </Modal>
     );
diff --git a/src/routes/Document/components/AddAndUpdateTag.js 
b/src/routes/Document/components/AddAndUpdateTag.js
index b117960c..45926224 100644
--- a/src/routes/Document/components/AddAndUpdateTag.js
+++ b/src/routes/Document/components/AddAndUpdateTag.js
@@ -93,7 +93,7 @@ class AddAndUpdateTag extends Component {
               ],
               initialValue: name
             })(
-              <Input placeholder={getIntlContent("SHENYU.DOCUMENT.TAG.NAME")} 
/>
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.DOCUMENT.TAG.NAME")} />
             )}
           </Form.Item>
 
@@ -107,15 +107,15 @@ class AddAndUpdateTag extends Component {
               ],
               initialValue: tagDesc
             })(
-              <Input placeholder={getIntlContent("SHENYU.DOCUMENT.TAG.DESC")} 
/>
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.DOCUMENT.TAG.DESC")} />
             )}
           </Form.Item>
 
           <Form.Item hidden>
-            {getFieldDecorator("parentTagId")(<Input />)}
+            {getFieldDecorator("parentTagId")(<Input allowClear />)}
           </Form.Item>
 
-          <Form.Item hidden>{getFieldDecorator("id")(<Input />)}</Form.Item>
+          <Form.Item hidden>{getFieldDecorator("id")(<Input allowClear 
/>)}</Form.Item>
         </Form>
       </Modal>
     );
diff --git a/src/routes/Document/components/ApiDebug.js 
b/src/routes/Document/components/ApiDebug.js
index 00543859..06bb11d5 100644
--- a/src/routes/Document/components/ApiDebug.js
+++ b/src/routes/Document/components/ApiDebug.js
@@ -232,6 +232,7 @@ const FCForm = forwardRef(({ form, onSubmit }, ref) => {
               })}
             </Select>
             <Input
+              allowClear
               style={{width: '60%'}}
               value={initialValue.url}
               onChange={e => {
diff --git a/src/routes/Plugin/Common/CommonRuleHandle.js 
b/src/routes/Plugin/Common/CommonRuleHandle.js
index 7aa17cc4..f9596125 100644
--- a/src/routes/Plugin/Common/CommonRuleHandle.js
+++ b/src/routes/Plugin/Common/CommonRuleHandle.js
@@ -46,7 +46,7 @@ export default class CommonRuleHandle extends Component {
         <FormItem style={{ display: "none" }}>
           {getFieldDecorator("handleType", {
             initialValue: pluginHandleList.length ? "1" : "2"
-          })(<Input />)}
+          })(<Input allowClear />)}
         </FormItem>
         <div
           className={styles.handleWrap}
@@ -114,6 +114,7 @@ export default class CommonRuleHandle extends Component {
                                   initialValue: defaultValue
                                 })(
                                   <Input
+                                    allowClear
                                     addonBefore={
                                       <div style={{ width: labelWidth }}>
                                         {item.label}
@@ -173,6 +174,7 @@ export default class CommonRuleHandle extends Component {
                                   initialValue: defaultValue
                                 })(
                                   <Input
+                                    allowClear
                                     addonBefore={
                                       <div style={{ width: labelWidth }}>
                                         {item.label}
diff --git a/src/routes/Plugin/Common/Rule.js b/src/routes/Plugin/Common/Rule.js
index ff8337b5..aec2027e 100644
--- a/src/routes/Plugin/Common/Rule.js
+++ b/src/routes/Plugin/Common/Rule.js
@@ -387,6 +387,7 @@ class AddModal extends Component {
     else {
       return (
         <Input
+          allowClear
           onChange={e => {
             this.conditionChange(
               index,
@@ -475,6 +476,7 @@ class AddModal extends Component {
               initialValue: name
             })(
               <Input
+                allowClear
                 placeholder={getIntlContent(
                   "SHENYU.PLUGIN.SELECTOR.LIST.COLUMN.NAME"
                 )}
@@ -562,6 +564,7 @@ class AddModal extends Component {
                       }}
                     >
                       <Input
+                        allowClear
                         onChange={e => {
                           this.conditionChange(
                             index,
@@ -674,6 +677,7 @@ class AddModal extends Component {
               ]
             })(
               <Input
+                allowClear
                 placeholder={getIntlContent("SHENYU.SELECTOR.INPUTORDER")}
               />
             )}
diff --git a/src/routes/Plugin/Common/Selector.js 
b/src/routes/Plugin/Common/Selector.js
index 705658f9..001552e1 100644
--- a/src/routes/Plugin/Common/Selector.js
+++ b/src/routes/Plugin/Common/Selector.js
@@ -368,7 +368,7 @@ class AddModal extends Component {
                             message: "protocol is required"
                           }
                         ]
-                      })(<Input />)}
+                      })(<Input allowClear />)}
                     </Item>
                   </Col>
                   <Col span={14} style={{marginLeft:"-20px"}}>
@@ -383,7 +383,7 @@ class AddModal extends Component {
                             message: "upstreamUrl is required"
                           }
                         ]
-                      })(<Input />)}
+                      })(<Input allowClear />)}
                     </Item>
                   </Col>
                 </Row>
@@ -491,7 +491,7 @@ class AddModal extends Component {
                     required: true
                   }
                 ]
-              })(<Input placeholder="serviceId" /> )}
+              })(<Input allowClear placeholder="serviceId" /> )}
               </Item>
             </Col>
             <Col span={3}>
@@ -602,6 +602,7 @@ class AddModal extends Component {
                                     initialValue: defaultValue
                                   })(
                                     <Input
+                                      allowClear
                                       addonBefore={
                                         <div style={{ width: labelWidth }}>
                                           {item.label}
@@ -661,6 +662,7 @@ class AddModal extends Component {
                                     initialValue: defaultValue
                                   })(
                                     <Input
+                                      allowClear
                                       addonBefore={
                                         <div style={{ width: labelWidth }}>
                                           {item.label}
@@ -841,6 +843,7 @@ class AddModal extends Component {
     else {
       return (
         <Input
+          allowClear
           onChange={e => {
             this.conditionChange(
               index,
@@ -910,6 +913,7 @@ class AddModal extends Component {
               initialValue: name
             })(
               <Input
+                allowClear
                 placeholder={getIntlContent(
                   "SHENYU.PLUGIN.SELECTOR.LIST.COLUMN.NAME"
                 )}
@@ -1021,6 +1025,7 @@ class AddModal extends Component {
                           }}
                         >
                           <Input
+                            allowClear
                             onChange={e => {
                               this.conditionChange(
                                 index,
@@ -1139,6 +1144,7 @@ class AddModal extends Component {
               ]
             })(
               <Input
+                allowClear
                 placeholder={getIntlContent("SHENYU.SELECTOR.INPUTORDER")}
               />
             )}
diff --git a/src/routes/Plugin/Discovery/DiscoveryConfigModal.js 
b/src/routes/Plugin/Discovery/DiscoveryConfigModal.js
index 1868f76f..5c6be0fd 100644
--- a/src/routes/Plugin/Discovery/DiscoveryConfigModal.js
+++ b/src/routes/Plugin/Discovery/DiscoveryConfigModal.js
@@ -158,6 +158,7 @@ class DiscoveryConfigModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.DISCOVERY.CONFIGURATION.NAME.INPUT") }],
               initialValue: name
             })(<Input
+              allowClear
               
placeholder={getIntlContent("SHENYU.DISCOVERY.CONFIGURATION.NAME.INPUT")}
             />)}
           </FormItem>
@@ -167,6 +168,7 @@ class DiscoveryConfigModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.DISCOVERY.CONFIGURATION.SERVERLIST.INPUT") }],
               initialValue: serverList
             })(<Input
+              allowClear
               disabled={isSetConfig}
               
placeholder={getIntlContent("SHENYU.DISCOVERY.CONFIGURATION.SERVERLIST.INPUT")}
             />)}
@@ -186,6 +188,7 @@ class DiscoveryConfigModal extends Component {
                         initialValue: value
                       })(
                         <Input
+                          allowClear
                           disabled={isSetConfig}
                           placeholder={`Enter ${key}`}
                           addonBefore={key}
diff --git a/src/routes/Plugin/Discovery/ProxySelectorModal.js 
b/src/routes/Plugin/Discovery/ProxySelectorModal.js
index 68cd74f3..6b053bd9 100644
--- a/src/routes/Plugin/Discovery/ProxySelectorModal.js
+++ b/src/routes/Plugin/Discovery/ProxySelectorModal.js
@@ -236,6 +236,7 @@ class ProxySelectorModal extends Component {
                   rules: [{required: true, message: 
getIntlContent("SHENYU.DISCOVERY.SELECTOR.NAME.INPUT")}],
                   initialValue: name
                 })(<Input
+                  allowClear
                   disabled={!isAdd}
                   
placeholder={getIntlContent("SHENYU.DISCOVERY.SELECTOR.NAME.INPUT")}
                   addonAfter={
@@ -266,6 +267,7 @@ class ProxySelectorModal extends Component {
                   rules: [{required: true, message: 
getIntlContent("SHENYU.DISCOVERY.SELECTOR.FORWARDPORT.INPUT")}],
                   initialValue: forwardPort
                 })(<Input
+                  allowClear
                   disabled={!isAdd}
                   
placeholder={getIntlContent("SHENYU.DISCOVERY.SELECTOR.FORWARDPORT.INPUT")}
                 />)}
@@ -341,6 +343,7 @@ class ProxySelectorModal extends Component {
                                           initialValue: defaultValue
                                         })(
                                           <Input
+                                            allowClear
                                             disabled={!isAdd}
                                             addonBefore={
                                               <div style={{ width: labelWidth 
}}>
@@ -402,6 +405,7 @@ class ProxySelectorModal extends Component {
                                           initialValue: defaultValue
                                         })(
                                           <Input
+                                            allowClear
                                             disabled={!isAdd}
                                             addonBefore={
                                               <div style={{ width: labelWidth 
}}>
@@ -463,6 +467,7 @@ class ProxySelectorModal extends Component {
                         rules: [{required: true, message: 
getIntlContent("SHENYU.DISCOVERY.SELECTOR.LISTENERNODE.INPUT")}],
                         initialValue: listenerNode
                       })(<Input
+                        allowClear
                         disabled={!isAdd}
                         
placeholder={getIntlContent("SHENYU.DISCOVERY.SELECTOR.LISTENERNODE.INPUT")}
                       />)}
@@ -521,6 +526,7 @@ class ProxySelectorModal extends Component {
                                           rules
                                         })(
                                           <Input
+                                            allowClear
                                             disabled={!isAdd}
                                             addonAfter={
                                               <div style={{ width: '50px' }}>
@@ -550,6 +556,7 @@ class ProxySelectorModal extends Component {
                               rules: [{required: true, message: 
getIntlContent("SHENYU.DISCOVERY.CONFIGURATION.SERVERLIST.INPUT")}],
                               initialValue: discovery.serverList
                             })(<Input
+                              allowClear
                               disabled={!isAdd}
                               
placeholder={getIntlContent("SHENYU.DISCOVERY.CONFIGURATION.SERVERLIST.INPUT")}
                             />)}
@@ -569,6 +576,7 @@ class ProxySelectorModal extends Component {
                                         initialValue: value
                                       })(
                                         <Input
+                                          allowClear
                                           disabled={!isAdd}
                                           placeholder={`Enter ${key}`}
                                           addonBefore={key}
diff --git a/src/routes/Plugin/Discovery/UpstreamTable.js 
b/src/routes/Plugin/Discovery/UpstreamTable.js
index 02f1f522..d1cc7f1a 100644
--- a/src/routes/Plugin/Discovery/UpstreamTable.js
+++ b/src/routes/Plugin/Discovery/UpstreamTable.js
@@ -53,7 +53,7 @@ class EditableCell extends Component {
             },
           ],
           initialValue: record[dataIndex],
-        })(<Input ref={node => { this.input = node }} onPressEnter={this.save} 
onBlur={this.save} />
+        })(<Input allowClear ref={node => { this.input = node }} 
onPressEnter={this.save} onBlur={this.save} />
         )}
       </Form.Item>
     ) : (
diff --git a/src/routes/Plugin/PluginRuleHandle/GeneralContextRuleHandle.js 
b/src/routes/Plugin/PluginRuleHandle/GeneralContextRuleHandle.js
index 5fb86c84..feb0b077 100644
--- a/src/routes/Plugin/PluginRuleHandle/GeneralContextRuleHandle.js
+++ b/src/routes/Plugin/PluginRuleHandle/GeneralContextRuleHandle.js
@@ -156,6 +156,7 @@ export default class GeneralContextRuleHandle extends 
Component {
                         }
                       )(
                         <Input
+                          allowClear
                           placeholder={titleCase(
                             `Set ${handler} Context Key`
                           )}
@@ -173,6 +174,7 @@ export default class GeneralContextRuleHandle extends 
Component {
                         }
                       )(
                         <Input
+                          allowClear
                           placeholder={titleCase(
                             `Set ${handler} Context Value`
                           )}
diff --git a/src/routes/Plugin/PluginRuleHandle/HystrixRuleHandle.js 
b/src/routes/Plugin/PluginRuleHandle/HystrixRuleHandle.js
index 8420b324..43c35e63 100644
--- a/src/routes/Plugin/PluginRuleHandle/HystrixRuleHandle.js
+++ b/src/routes/Plugin/PluginRuleHandle/HystrixRuleHandle.js
@@ -188,6 +188,7 @@ export default class HystrixRuleHandle extends Component {
           >
             <li>
               <Input
+                allowClear
                 addonBefore={<div style={{width: 
labelWidth}}>{getIntlContent("SHENYU.HYSTRIX.TRIPPING.REQUEST.NUMBER")}</div>}
                 value={requestVolumeThreshold}
                 placeholder="requestVolumeThreshold"
@@ -199,6 +200,7 @@ export default class HystrixRuleHandle extends Component {
             </li>
             <li>
               <Input
+                allowClear
                 addonBefore={<div style={{width: 
labelWidth}}>{getIntlContent("SHENYU.HYSTRIX.ERROR.PERCENT")}</div>}
                 value={errorThresholdPercentage}
                 placeholder="errorThresholdPercentage"
@@ -215,6 +217,7 @@ export default class HystrixRuleHandle extends Component {
               this.state.executionIsolationStrategy === 1&&(
               <li>
                 <Input
+                  allowClear
                   addonBefore={<div style={{width: 
labelWidth}}>{getIntlContent("SHENYU.HYSTRIX.MAX.CONCURRENCY")}</div>}
                   value={maxConcurrentRequests}
                   placeholder="maxConcurrentRequests"
@@ -228,6 +231,7 @@ export default class HystrixRuleHandle extends Component {
             }
             <li>
               <Input
+                allowClear
                 addonBefore={<div style={{width: 
labelWidth}}>{getIntlContent("SHENYU.HYSTRIX.TRIPPING.SLEEPTIME")}</div>}
                 value={sleepWindowInMilliseconds}
                 placeholder="sleepWindowInMilliseconds"
@@ -242,6 +246,7 @@ export default class HystrixRuleHandle extends Component {
             </li>
             <li>
               <Input
+                allowClear
                 addonBefore={<div style={{width: 
labelWidth}}>{getIntlContent("SHENYU.HYSTRIX.GROUPKEY")}</div>}
                 value={groupKey}
                 placeholder="GroupKey"
@@ -253,6 +258,7 @@ export default class HystrixRuleHandle extends Component {
             </li>
             <li>
               <Input
+                allowClear
                 addonBefore={<div style={{width: 
labelWidth}}>{getIntlContent("SHENYU.HYSTRIX.FAILEDDEMOTION")}</div>}
                 value={callBackUri}
                 placeholder={getIntlContent("SHENYU.HYSTRIX.FAILEDCALLBACK")}
@@ -264,6 +270,7 @@ export default class HystrixRuleHandle extends Component {
             </li>
             <li>
               <Input
+                allowClear
                 addonBefore={<div style={{width: 
labelWidth}}>{getIntlContent("SHENYU.HYSTRIX.COMMANDKEY")}</div>}
                 value={commandKey}
                 placeholder="CommandKey"
@@ -277,6 +284,7 @@ export default class HystrixRuleHandle extends Component {
                 this.state.executionIsolationStrategy === 0 && (
                 <li>
                   <Input
+                    allowClear
                     addonBefore={<div style={{width: 
labelWidth}}>{getIntlContent("SHENYU.HYSTRIX.CORETHREADSIZE")}</div>}
                     value={hystrixThreadPoolConfig.coreSize}
                     placeholder={getIntlContent("SHENYU.HYSTRIX.CORENUM")}
@@ -293,6 +301,7 @@ export default class HystrixRuleHandle extends Component {
               this.state.executionIsolationStrategy === 0 && (
               <li>
                 <Input
+                  allowClear
                   addonBefore={<div style={{width: 
labelWidth}}>{getIntlContent("SHENYU.HYSTRIX.MAXSIZE")}</div>}
                   value={hystrixThreadPoolConfig.maximumSize}
                   placeholder={getIntlContent("SHENYU.HYSTRIX.MAXTHREADNUM")}
@@ -308,6 +317,7 @@ export default class HystrixRuleHandle extends Component {
               this.state.executionIsolationStrategy === 0&& (
               <li>
                 <Input
+                  allowClear
                   addonBefore={<div style={{width: 
labelWidth}}>{getIntlContent("SHENYU.HYSTRIX.MAXTHREADQUEUE")}</div>}
                   value={hystrixThreadPoolConfig.maxQueueSize}
                   placeholder={getIntlContent("SHENYU.HYSTRIX.MAXTHREAD")}
diff --git a/src/routes/Plugin/PluginRuleHandle/ParamPluginRuleHandle.js 
b/src/routes/Plugin/PluginRuleHandle/ParamPluginRuleHandle.js
index 0f53c9f1..7728ac87 100644
--- a/src/routes/Plugin/PluginRuleHandle/ParamPluginRuleHandle.js
+++ b/src/routes/Plugin/PluginRuleHandle/ParamPluginRuleHandle.js
@@ -30,6 +30,7 @@ function ConfigInput(cfProps) {
   const {code, data, onChange} = cfProps;
   return (
     <Input
+      allowClear
       value={data[code]}
       placeholder={`please enter ${code}`}
       addonBefore={code}
diff --git a/src/routes/Plugin/PluginRuleHandle/RequestRuleHandle.js 
b/src/routes/Plugin/PluginRuleHandle/RequestRuleHandle.js
index 5bc06e34..f3d77b74 100644
--- a/src/routes/Plugin/PluginRuleHandle/RequestRuleHandle.js
+++ b/src/routes/Plugin/PluginRuleHandle/RequestRuleHandle.js
@@ -325,6 +325,7 @@ export default class RequestRuleHandle extends Component {
                                     initialValue: field.fieldValue,
                                   })(
                                     <Input
+                                      allowClear
                                       // addonBefore={<div style={{width: 
labelWidth}}>{item.label}</div>}
                                       placeholder={placeholder}
                                       key={field.fieldName}
@@ -395,6 +396,7 @@ export default class RequestRuleHandle extends Component {
                                     initialValue: field.fieldValue,
                                   })(
                                     <Input
+                                      allowClear
                                       // addonBefore={<div style={{width: 
labelWidth}}>{item.label}</div>}
                                       placeholder={placeholder}
                                       key={field.fieldName}
@@ -465,6 +467,7 @@ export default class RequestRuleHandle extends Component {
                                     initialValue: field.fieldValue,
                                   })(
                                     <Input
+                                      allowClear
                                       // addonBefore={<div style={{width: 
labelWidth}}>{item.label}</div>}
                                       placeholder={placeholder}
                                       key={field.fieldName}
diff --git a/src/routes/Plugin/PluginRuleHandle/ResponseRuleHandle.js 
b/src/routes/Plugin/PluginRuleHandle/ResponseRuleHandle.js
index 59a29852..df9e17e0 100644
--- a/src/routes/Plugin/PluginRuleHandle/ResponseRuleHandle.js
+++ b/src/routes/Plugin/PluginRuleHandle/ResponseRuleHandle.js
@@ -48,6 +48,7 @@ function ConfigInput(cfProps) {
   const { code, data, onChange } = cfProps;
   return (
     <Input
+      allowClear
       value={data[code]}
       placeholder={`please enter ${code}`}
       addonBefore={code}
diff --git a/src/routes/System/AppAuth/AddModal.js 
b/src/routes/System/AppAuth/AddModal.js
index 3d4164b5..158d30c4 100644
--- a/src/routes/System/AppAuth/AddModal.js
+++ b/src/routes/System/AppAuth/AddModal.js
@@ -40,6 +40,7 @@ class AddModal extends Component {
        editable: 'true',
        render: (text,record,index) => (
          <Input
+           allowClear
            placeholder="/"
            value={text}
            onChange={(e) => this.handleTableInput(e.target.value , index)}
@@ -180,25 +181,25 @@ class AddModal extends Component {
             {getFieldDecorator("appKey", {
               rules: [{ required: true, message: 
`${getIntlContent("SHENYU.AUTH.INPUT")}AppKey` }],
               initialValue: appKey
-            })(<Input disabled 
placeholder={`${getIntlContent("SHENYU.AUTH.INPUT")}AppKey`} />)}
+            })(<Input allowClear disabled 
placeholder={`${getIntlContent("SHENYU.AUTH.INPUT")}AppKey`} />)}
           </FormItem>
           <FormItem label={getIntlContent("SHENYU.AUTH.APPPASSWORD")} 
{...formItemLayout}>
             {getFieldDecorator("appSecret", {
               rules: [{ required: true, message: 
`${getIntlContent("SHENYU.AUTH.INPUT")}AppSecret` }],
               initialValue: appSecret
-            })(<Input disabled 
placeholder={`${getIntlContent("SHENYU.AUTH.INPUT")}AppSecret`} />)}
+            })(<Input allowClear disabled 
placeholder={`${getIntlContent("SHENYU.AUTH.INPUT")}AppSecret`} />)}
           </FormItem>
           <FormItem label={`${getIntlContent("SHENYU.SYSTEM.USER")}Id`} 
{...formItemLayout}>
             {getFieldDecorator("userId", {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.AUTH.INPUTUSERID")}],
               initialValue: userId
-            })(<Input placeholder={getIntlContent("SHENYU.AUTH.INPUTUSERID")} 
/>)}
+            })(<Input allowClear 
placeholder={getIntlContent("SHENYU.AUTH.INPUTUSERID")} />)}
           </FormItem>
           <FormItem label={getIntlContent("SHENYU.AUTH.TEL")} 
{...formItemLayout}>
             {getFieldDecorator("phone", {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.AUTH.TELPHONE")}],
               initialValue: phone
-            })(<Input placeholder={getIntlContent("SHENYU.AUTH.TELPHONE")} />)}
+            })(<Input allowClear 
placeholder={getIntlContent("SHENYU.AUTH.TELPHONE")} />)}
           </FormItem>
           <FormItem label={getIntlContent("SHENYU.AUTH.EXPANDINFO")} 
{...formItemLayout}>
             {getFieldDecorator("extInfo", {
@@ -231,6 +232,7 @@ class AddModal extends Component {
                       </li>
                       <li>
                         <Input
+                          allowClear
                           onChange={e => { 
this.conditionChange(index,"appName",e.target.value)}}
                           value={item.appName}
                           className={styles.appName}
diff --git a/src/routes/System/AppAuth/AddTable.js 
b/src/routes/System/AppAuth/AddTable.js
index 968a8f78..f1dff8df 100644
--- a/src/routes/System/AppAuth/AddTable.js
+++ b/src/routes/System/AppAuth/AddTable.js
@@ -32,6 +32,7 @@ class AddTable extends Component {
         editable: 'true',
         render: (text, record) => (
           <Input
+            allowClear
             placeholder="/"
             value={text}
             onChange={(e) => this.handleTableInput({ path: e.target.value }, 
record)}
@@ -237,13 +238,13 @@ class AddTable extends Component {
                 message: `${getIntlContent("SHENYU.AUTH.INPUT")}Phone`
               }],
             })(
-              <Input placeholder="Phone" />
+              <Input allowClear placeholder="Phone" />
             )}
           </FormItem>
           <FormItem label={`App${getIntlContent("SHENYU.AUTH.PARAMS")}`} 
{...formItemLayout}>
             {getFieldDecorator("appParam", {
             })(
-              <Input placeholder="AppParams" />
+              <Input allowClear placeholder="AppParams" />
             )}
           </FormItem>
           <FormItem label={`${getIntlContent("SHENYU.SYSTEM.USER")}Id`} 
{...formItemLayout}>
@@ -252,12 +253,12 @@ class AddTable extends Component {
                 required: true,
                 message: `${getIntlContent("SHENYU.AUTH.INPUT")}UserId`
               }],
-            })(<Input placeholder="UserId" />)}
+            })(<Input allowClear placeholder="UserId" />)}
           </FormItem>
           <FormItem label={getIntlContent("SHENYU.AUTH.EXPANDINFO")} 
{...formItemLayout}>
             {getFieldDecorator("extInfo", {
             })(
-              <Input placeholder="ExpandInfo" />
+              <Input allowClear placeholder="ExpandInfo" />
             )}
           </FormItem>
           <FormItem label={getIntlContent("SHENYU.AUTH.OPENPATH")} 
{...formItemLayout}>
diff --git a/src/routes/System/AppAuth/SearchContent.js 
b/src/routes/System/AppAuth/SearchContent.js
index ee8998b1..40715ec1 100644
--- a/src/routes/System/AppAuth/SearchContent.js
+++ b/src/routes/System/AppAuth/SearchContent.js
@@ -39,6 +39,7 @@ class InlineSearch extends React.Component {
             initialValue: null
           })(
             <Input
+              allowClear
               placeholder={getIntlContent("SHENYU.AUTH.INPUTAPPKEY")}
             />,
           )}
@@ -48,6 +49,7 @@ class InlineSearch extends React.Component {
             initialValue: null
           })(
             <Input
+              allowClear
               type="phone"
               placeholder={getIntlContent("SHENYU.AUTH.TELPHONE")}
             />,
diff --git a/src/routes/System/Dict/AddModal.js 
b/src/routes/System/Dict/AddModal.js
index 588c28e2..821c49a0 100644
--- a/src/routes/System/Dict/AddModal.js
+++ b/src/routes/System/Dict/AddModal.js
@@ -71,7 +71,7 @@ class AddModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.AUTH.INPUT") + getIntlContent("SHENYU.DIC.TYPE") }],
               initialValue: type,
             })(
-              <Input placeholder={getIntlContent("SHENYU.DIC.TYPE")} />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.DIC.TYPE")} />
             )}
           </FormItem>
 
@@ -83,7 +83,7 @@ class AddModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.AUTH.INPUT") + getIntlContent("SHENYU.DIC.CODE") }],
               initialValue: dictCode,
             })(
-              <Input placeholder={getIntlContent("SHENYU.DIC.CODE")} />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.DIC.CODE")} />
             )}
           </FormItem>
           <FormItem
@@ -94,7 +94,7 @@ class AddModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.AUTH.INPUT") + getIntlContent("SHENYU.DIC.NAME") }],
               initialValue: dictName,
             })(
-              <Input placeholder={getIntlContent("SHENYU.DIC.NAME")} />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.DIC.NAME")} />
             )}
           </FormItem>
           <FormItem
@@ -105,7 +105,7 @@ class AddModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.AUTH.INPUT") + getIntlContent("SHENYU.DIC.VALUE") }],
               initialValue: dictValue,
             })(
-              <Input placeholder={getIntlContent("SHENYU.DIC.VALUE")} />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.DIC.VALUE")} />
             )}
           </FormItem>
           <FormItem
@@ -131,7 +131,7 @@ class AddModal extends Component {
               ],
               initialValue: sort,
             })(
-              <Input placeholder={getIntlContent("SHENYU.PLUGIN.SORT")} 
type="number" />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.PLUGIN.SORT")} type="number" />
             )}
           </FormItem>
           {/* status */}
diff --git a/src/routes/System/Dict/index.js b/src/routes/System/Dict/index.js
index 10cd4581..6a7c89c5 100644
--- a/src/routes/System/Dict/index.js
+++ b/src/routes/System/Dict/index.js
@@ -445,18 +445,21 @@ export default class ShenYuDict extends Component {
       <div className="plug-content-wrap">
         <div style={{ display: "flex" }}>
           <Input
+            allowClear
             value={type}
             placeholder={getIntlContent("SHENYU.DIC.INPUTTYPE")}
             onChange={this.searchTypeOnchange}
             style={{ width: 240 }}
           />&nbsp;&nbsp;
           <Input
+            allowClear
             value={dictCode}
             placeholder={getIntlContent("SHENYU.DIC.INPUTCODE")}
             onChange={this.searchDictCodeOnchange}
             style={{ width: 240 }}
           />&nbsp;&nbsp;
           <Input
+            allowClear
             value={dictName}
             placeholder={getIntlContent("SHENYU.DIC.INPUTNAME")}
             onChange={this.searchDictNameOnchange}
diff --git a/src/routes/System/Metadata/AddModal.js 
b/src/routes/System/Metadata/AddModal.js
index 4124666e..a081d518 100644
--- a/src/routes/System/Metadata/AddModal.js
+++ b/src/routes/System/Metadata/AddModal.js
@@ -76,7 +76,7 @@ class AddModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.AUTH.INPUT") + getIntlContent("SHENYU.AUTH.APPNAME") }],
               initialValue: appName,
             })(
-              <Input placeholder={getIntlContent("SHENYU.AUTH.APPNAME")} />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.AUTH.APPNAME")} />
             )}
           </FormItem>
 
@@ -88,7 +88,7 @@ class AddModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.AUTH.INPUT") + getIntlContent("SHENYU.META.FUNC.NAME") 
}],
               initialValue: methodName,
             })(
-              <Input placeholder={getIntlContent("SHENYU.META.FUNC.NAME")} />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.META.FUNC.NAME")} />
             )}
           </FormItem>
           <FormItem
@@ -99,7 +99,7 @@ class AddModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.AUTH.INPUT") + getIntlContent("SHENYU.META.PATH") }],
               initialValue: path,
             })(
-              <Input placeholder={getIntlContent("SHENYU.META.PATH")} />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.META.PATH")} />
             )}
           </FormItem>
           <FormItem
@@ -110,7 +110,7 @@ class AddModal extends Component {
               rules: [{ required: false, message: 
getIntlContent("SHENYU.AUTH.INPUT") + 
getIntlContent("SHENYU.AUTH.PATH.DESCRIBE")}],
               initialValue: pathDesc,
             })(
-              <Input placeholder={getIntlContent("SHENYU.AUTH.PATH.DESCRIBE")} 
/>
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.AUTH.PATH.DESCRIBE")} />
             )}
           </FormItem>
           <FormItem
@@ -121,7 +121,7 @@ class AddModal extends Component {
               rules: [{ required: false, message: 
`${getIntlContent("SHENYU.AUTH.INPUT")}${getIntlContent("SHENYU.AUTH.PARAMS")}${getIntlContent("SHENYU.COMMON.TYPE")}`
 }],
               initialValue: parameterTypes,
             })(
-              <Input 
placeholder={`${getIntlContent("SHENYU.AUTH.PARAMS")}${getIntlContent("SHENYU.COMMON.TYPE")}`}
 />
+              <Input allowClear 
placeholder={`${getIntlContent("SHENYU.AUTH.PARAMS")}${getIntlContent("SHENYU.COMMON.TYPE")}`}
 />
             )}
           </FormItem>
           <FormItem
@@ -143,7 +143,7 @@ class AddModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.META.INPUTSERVICEINTERFACE") }],
               initialValue: serviceName,
             })(
-              <Input placeholder={getIntlContent("SHENYU.META.SERVER.INTER")} 
/>
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.META.SERVER.INTER")} />
             )}
           </FormItem>
           {/* select */}
diff --git a/src/routes/System/Metadata/index.js 
b/src/routes/System/Metadata/index.js
index cf5774ca..741b5141 100644
--- a/src/routes/System/Metadata/index.js
+++ b/src/routes/System/Metadata/index.js
@@ -413,6 +413,7 @@ export default class Metadata extends Component {
       <div className="plug-content-wrap">
         <div style={{ display: "flex" }}>
           <Input
+            allowClear
             value={path}
             onChange={this.searchOnchange}
             placeholder={getIntlContent("SHENYU.META.INPUTPATH")}
diff --git a/src/routes/System/Plugin/AddModal.js 
b/src/routes/System/Plugin/AddModal.js
index 960d7278..5d510b2f 100644
--- a/src/routes/System/Plugin/AddModal.js
+++ b/src/routes/System/Plugin/AddModal.js
@@ -111,6 +111,7 @@ class AddModal extends Component {
               initialValue: name
             })(
               <Input
+                allowClear
                 placeholder={getIntlContent("SHENYU.PLUGIN.PLUGIN.NAME")}
                 disabled={disable}
               />
@@ -169,7 +170,7 @@ class AddModal extends Component {
                           rules,
                           initialValue: fieldInitialValue
                         })(
-                          <Input placeholder={eachField.label} type="number" />
+                          <Input allowClear placeholder={eachField.label} 
type="number" />
                         )}
                       </FormItem>
                     );
@@ -211,7 +212,7 @@ class AddModal extends Component {
                         {getFieldDecorator(fieldName, {
                           rules,
                           initialValue: fieldInitialValue
-                        })(<Input placeholder={eachField.label} />)}
+                        })(<Input allowClear placeholder={eachField.label} />)}
                       </FormItem>
                     );
                   }
@@ -231,7 +232,7 @@ class AddModal extends Component {
                 }
               ],
               initialValue: role
-            })(<Input maxLength={50} />)}
+            })(<Input allowClear maxLength={50} />)}
           </FormItem>
           <FormItem
             label={getIntlContent("SHENYU.PLUGIN.SORT")}
diff --git a/src/routes/System/Plugin/index.js 
b/src/routes/System/Plugin/index.js
index 684effce..73f1fa42 100644
--- a/src/routes/System/Plugin/index.js
+++ b/src/routes/System/Plugin/index.js
@@ -498,6 +498,7 @@ export default class Plugin extends Component {
       <div className="plug-content-wrap">
         <div style={{ display: "flex" }}>
           <Input
+            allowClear
             value={name}
             onChange={this.searchOnchange}
             placeholder={getIntlContent("SHENYU.PLUGIN.INPUTNAME")}
diff --git a/src/routes/System/PluginHandle/AddModal.js 
b/src/routes/System/PluginHandle/AddModal.js
index 6c915e5b..f68fe32f 100644
--- a/src/routes/System/PluginHandle/AddModal.js
+++ b/src/routes/System/PluginHandle/AddModal.js
@@ -91,7 +91,7 @@ class AddPluginHandle extends Component {
               rules: [{required: true, message: 
getIntlContent("SHENYU.PLUGIN.FIELD")}],
               initialValue: field,
             })(
-              <Input placeholder={getIntlContent("SHENYU.PLUGIN.FIELD")} />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.PLUGIN.FIELD")} />
             )}
           </FormItem>
           <FormItem label={getIntlContent("SHENYU.PLUGIN.DESCRIBE")} 
{...formItemLayout}>
@@ -99,7 +99,7 @@ class AddPluginHandle extends Component {
               rules: [{required: true, message: 
getIntlContent("SHENYU.PLUGIN.DESCRIBE")}],
               initialValue: label,
             })(
-              <Input placeholder={getIntlContent("SHENYU.PLUGIN.DESCRIBE")} />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.PLUGIN.DESCRIBE")} />
             )}
           </FormItem>
           <FormItem label={getIntlContent("SHENYU.PLUGIN.DATATYPE")} 
{...formItemLayout}>
@@ -131,7 +131,7 @@ class AddPluginHandle extends Component {
               rules: [{required: true, message: 
getIntlContent("SHENYU.PLUGIN.INPUTSORT")}],
               initialValue: sort,
             })(
-              <Input placeholder={getIntlContent("SHENYU.PLUGIN.SORT")} 
type="number" />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.PLUGIN.SORT")} type="number" />
             )}
           </FormItem>
           <FormItem label={getIntlContent("SHENYU.PLUGIN.REQUIRED")} 
{...formItemLayout}>
@@ -150,7 +150,7 @@ class AddPluginHandle extends Component {
               rules: [{required: false}],
               initialValue: defaultValue,
             })(
-              <Input 
placeholder={getIntlContent("SHENYU.PLUGIN.DEFAULTVALUE")} />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.PLUGIN.DEFAULTVALUE")} />
             )}
           </FormItem>
           <FormItem label={getIntlContent("SHENYU.PLUGIN.PLACEHOLDER")} 
{...formItemLayout}>
@@ -158,7 +158,7 @@ class AddPluginHandle extends Component {
               rules: [{required: false}],
               initialValue: placeholder,
             })(
-              <Input placeholder={getIntlContent("SHENYU.PLUGIN.PLACEHOLDER")} 
/>
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.PLUGIN.PLACEHOLDER")} />
             )}
           </FormItem>
           <FormItem
@@ -176,7 +176,7 @@ class AddPluginHandle extends Component {
               rules: [{required: false}],
               initialValue: rule,
             })(
-              <Input placeholder={getIntlContent("SHENYU.PLUGIN.RULE")} />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.PLUGIN.RULE")} />
             )}
           </FormItem>
         </Form>
diff --git a/src/routes/System/PluginHandle/index.js 
b/src/routes/System/PluginHandle/index.js
index 1bbf1328..17665136 100644
--- a/src/routes/System/PluginHandle/index.js
+++ b/src/routes/System/PluginHandle/index.js
@@ -485,6 +485,7 @@ export default class PluginHandle extends Component {
             }
           </Select>
           <Input
+            allowClear
             value={field}
             onChange={this.fieldOnchange}
             placeholder={getIntlContent("SHENYU.PLUGIN.FIELDNAME")}
diff --git a/src/routes/System/Resource/AddModal.js 
b/src/routes/System/Resource/AddModal.js
index 7c81c59d..70b98f2b 100644
--- a/src/routes/System/Resource/AddModal.js
+++ b/src/routes/System/Resource/AddModal.js
@@ -111,7 +111,7 @@ class AddModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.SYSTEM.RESOURCENAME.INPUT") }],
               initialValue: (title && getIntlContent(title)) || title,
             })(
-              <Input disabled={!!id} 
placeholder={getIntlContent("SHENYU.SYSTEM.RESOURCENAME.INPUT")} />
+              <Input allowClear disabled={!!id} 
placeholder={getIntlContent("SHENYU.SYSTEM.RESOURCENAME.INPUT")} />
             )}
           </FormItem>
           {resourceType !== 2 && menuTree && menuTree.length > 0 && (
@@ -138,7 +138,7 @@ class AddModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.SYSTEM.ROUTER.INPUT") }],
               initialValue: url,
             })(
-              <Input disabled={!!id} 
placeholder={getIntlContent("SHENYU.SYSTEM.ROUTER.INPUT")} />
+              <Input allowClear disabled={!!id} 
placeholder={getIntlContent("SHENYU.SYSTEM.ROUTER.INPUT")} />
             )}
           </FormItem>
           )}
@@ -164,7 +164,7 @@ class AddModal extends Component {
               rules: [{ message: 
getIntlContent("SHENYU.SYSTEM.RESOURCE.PERMS.INPUT") }],
               initialValue: perms
             })(
-              <Input disabled={!!id} 
placeholder={getIntlContent("SHENYU.SYSTEM.RESOURCE.PERMS.INPUT")} />
+              <Input allowClear disabled={!!id} 
placeholder={getIntlContent("SHENYU.SYSTEM.RESOURCE.PERMS.INPUT")} />
             )}
           </FormItem>
           )}
@@ -177,6 +177,7 @@ class AddModal extends Component {
               initialValue: icon,
             })(
               <Input
+                allowClear
                 readOnly
                 placeholder={getIntlContent("SHENYU.SYSTEM.ICON.INPUT")}
                 prefix={(this.state.icon||icon)&&<Icon 
type={this.state.icon||icon} />}
diff --git a/src/routes/System/Resource/IconModal.js 
b/src/routes/System/Resource/IconModal.js
index 2d75a797..65f43dc4 100644
--- a/src/routes/System/Resource/IconModal.js
+++ b/src/routes/System/Resource/IconModal.js
@@ -445,6 +445,7 @@ export default class IconModal extends Component {
         ]}
       >
         <Input.Search
+          allowClear
           placeholder={getIntlContent("SHENYU.SYSTEM.ICON.SEARCH")}
           style={{marginBottom:20}}
           onChange={this.handleSearchTextChange}
diff --git a/src/routes/System/Role/AddModal.js 
b/src/routes/System/Role/AddModal.js
index 9b7548f3..54eb2248 100644
--- a/src/routes/System/Role/AddModal.js
+++ b/src/routes/System/Role/AddModal.js
@@ -152,7 +152,7 @@ class AddModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.SYSTEM.ROLE.INPUT.NAME") }],
               initialValue: roleName,
             })(
-              <Input 
placeholder={getIntlContent("SHENYU.SYSTEM.ROLE.INPUT.NAME")} />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.SYSTEM.ROLE.INPUT.NAME")} />
             )}
           </FormItem>
           <FormItem
diff --git a/src/routes/System/Role/index.js b/src/routes/System/Role/index.js
index 9118c56f..44277c05 100644
--- a/src/routes/System/Role/index.js
+++ b/src/routes/System/Role/index.js
@@ -253,6 +253,7 @@ export default class Role extends Component {
       <div className="plug-content-wrap">
         <div style={{ display: "flex" }}>
           <Input
+            allowClear
             value={roleName}
             onChange={this.searchOnchange}
             placeholder={getIntlContent("SHENYU.SYSTEM.ROLE.INPUT.NAME")}
diff --git a/src/routes/System/User/AddModal.js 
b/src/routes/System/User/AddModal.js
index c7c2eda9..2eb551b9 100644
--- a/src/routes/System/User/AddModal.js
+++ b/src/routes/System/User/AddModal.js
@@ -66,7 +66,7 @@ class AddModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.SYSTEM.USER.NAME") }],
               initialValue: userName,
             })(
-              <Input readOnly={userName === "admin"} 
placeholder={getIntlContent("SHENYU.SYSTEM.USERNAME")} />
+              <Input allowClear readOnly={userName === "admin"} 
placeholder={getIntlContent("SHENYU.SYSTEM.USERNAME")} />
             )}
           </FormItem>
           <FormItem
@@ -77,7 +77,7 @@ class AddModal extends Component {
               rules: [{ required: true, message: 
getIntlContent("SHENYU.SYSTEM.USER.PASSWORD") }],
               initialValue: password,
             })(
-              <Input placeholder={getIntlContent("SHENYU.SYSTEM.PASSWORD")} />
+              <Input allowClear 
placeholder={getIntlContent("SHENYU.SYSTEM.PASSWORD")} />
             )}
           </FormItem>
           <FormItem
diff --git a/src/routes/System/User/index.js b/src/routes/System/User/index.js
index 1521599a..ac093310 100644
--- a/src/routes/System/User/index.js
+++ b/src/routes/System/User/index.js
@@ -331,6 +331,7 @@ export default class Manage extends Component {
       <div className="plug-content-wrap">
         <div style={{ display: "flex" }}>
           <Input
+            allowClear
             value={userName}
             onChange={this.searchOnchange}
             placeholder={getIntlContent("SHENYU.SYSTEM.USER.NAME")}

Reply via email to