Browse Source

火狐div兼容

Luolei 6 years ago
parent
commit
bae44fbc4e

+ 2 - 0
src/common/components/Calendar/index.less

@@ -35,6 +35,8 @@
       position: absolute;
       top: 2px;
       border: 1px solid #b1d2ec;
+      box-sizing: border-box;
+      width: 47px;
       color:#1F547E;
       background-color: #deecf8;
       outline: none;

+ 9 - 15
src/components/AddAssistCheck/Textarea/index.jsx

@@ -13,11 +13,10 @@ class Textarea extends Component {
     this.$dom = React.createRef();
     this.$domW = React.createRef();
     this.handleInput = this.handleInput.bind(this);
-    this.handleBlur = this.handleBlur.bind(this);
   }
   handleInput(e){
     const {handleChangeAssistValue,idx,handlePush} = this.props;
-    const text = e.target.innerText;
+    const text = e.target.innerText || e.target.innerHTML;
     const stimer = this.state.timer;
     handleChangeAssistValue&&handleChangeAssistValue(text,idx);
     //右侧推送--延时推送
@@ -26,10 +25,13 @@ class Textarea extends Component {
       handlePush&&handlePush();
       clearTimeout(stimer);
     },config.delayPushTime);
-    if(text.trim() != ''){
+
+    if(text.trim() != '' && text != '<br>'){
       e.target.nextSibling.innerText = ''
+      e.target.nextSibling.innerHTML = ''
     }else{
       e.target.nextSibling.innerText = '报告描述或意见'
+      e.target.nextSibling.innerHTML = '报告描述或意见'
     }
     this.setState({
       timer
@@ -44,25 +46,18 @@ class Textarea extends Component {
   componentWillReceiveProps(next){
     const isRead = this.props.isRead;
     if(next.isRead != isRead){
-      this.$dom.current.innerText = next.value||'';
-    }
-    if(next.value && next.value.trim() != ''){
-      this.$dom.current.nextSibling.innerText = ''
+      this.$dom.current.innerText?(this.$dom.current.innerText = next.value||'') : (this.$dom.current.innerHTML = next.value||'')
     }
   }
   componentDidMount(){
     const {value} = this.props;
     if(value && value.trim()){
-      this.$dom.current.innerText = value||'';
+      this.$dom.current.innerText?(this.$dom.current.innerText = value) : (this.$dom.current.innerHTML = value)
       this.$dom.current.nextSibling.innerText = '';
+      this.$dom.current.nextSibling.innerHTML = '';
     }else{
       this.$dom.current.nextSibling.innerText = '报告描述或意见'
-    }
-  }
-  handleBlur(e){
-    let str = e.target.innerText
-    if(str.trim() == ''){
-      e.target.nextSibling.innerText = '报告描述或意见'
+      this.$dom.current.nextSibling.innerHTML = '报告描述或意见'
     }
   }
   render() {
@@ -73,7 +68,6 @@ class Textarea extends Component {
             contenteditable={true}
             ref={this.$dom}
             onInput={this.handleInput}
-            onBlur={this.handleBlur}
             onPropertyChange={this.handleInput}
         ></div>
         <p style={{position: "absolute",left: '0',top: '0',color: "#a5a3a3",zIndex: '5'}} className="textareaWarring"></p>

+ 2 - 1
src/components/MainSuit/index.jsx

@@ -66,7 +66,7 @@ class MainSuit extends Component{
   handleFocus(e){
     e.stopPropagation();
     const {getCommonSymptoms,datas,clearDiagnose} = this.props;
-    let innerText = e.target.innerText || e.target.innerHTML;//兼容火狐43
+    let innerText = e.target.innerText.trim || e.target.innerHTML;//兼容火狐43
     clearDiagnose&&clearDiagnose();//清除复诊数据
     if(!isIE()){//IE会触发onfocus和onblur事件
       if(!innerText.trim()){//有内容就走搜索接口
@@ -189,6 +189,7 @@ class MainSuit extends Component{
       }
       ev.target.innerText = data.substr(0,config.limited);  //输入法内输入多个字再按enter的情况
       ev.target.blur();
+
       this.setState({
         inpText:data.substr(0,config.limited),
         overFlag:true