Browse Source

修改治疗方案点击药品滚动条跳到顶部(2107)

zhangxc 5 năm trước cách đây
mục cha
commit
f0f93af826
2 tập tin đã thay đổi với 38 bổ sung5 xóa
  1. 29 0
      src/components/Treat/NewPortal/index.jsx
  2. 9 5
      src/components/Treat/index.jsx

+ 29 - 0
src/components/Treat/NewPortal/index.jsx

@@ -0,0 +1,29 @@
+import React, { Component } from 'react';
+import ReactDOM from 'react-dom';
+
+//传送门,将dom渲染到body节点
+class NewPortal extends Component {
+    constructor(props) {
+        super(props)
+        // 初始化创建渲染的父元素并添加到body下
+        this.node = document.createElement('div');
+    }
+
+    componentDidMount() {
+        document.body.appendChild(this.node);
+    }
+
+    componentWillUnmount() {
+        document.body.removeChild(this.node);
+    }
+    render() {
+        const { visible,children } = this.props;
+        
+        return visible && ReactDOM.createPortal(
+            children,
+            this.node
+        )
+    }
+}
+
+export default NewPortal;

+ 9 - 5
src/components/Treat/index.jsx

@@ -17,6 +17,7 @@ import adverseReactionIcon from './img/adverseReaction.png';
 import $ from "jquery";
 import {dragBox} from '@utils/drag';
 import ReactDom from "react-dom";
+import NewPortal from './NewPortal'
 
 class Treat extends Component {
     constructor(props){
@@ -30,7 +31,7 @@ class Treat extends Component {
         this.setTreatBox = this.setTreatBox.bind(this);
     }
     componentDidMount(){
-      dragBox('dragModalWrap','dragModalTitle','add','treatDescBox')
+    //   dragBox('dragModalWrap','dragModalTitle','add','treatDescBox')
     }
     
     hideTreat() {
@@ -39,7 +40,7 @@ class Treat extends Component {
         clearTreat && clearTreat();
         hideTreat && hideTreat();
         hideDrugInfo && hideDrugInfo();
-        dragBox('dragModalWrap','dragModalTitle','del')
+        // dragBox('dragModalWrap','dragModalTitle','del')
     }
     handlePrescription() {
         Notify.info('该功能即将上线,敬请期待。', 2000)
@@ -67,7 +68,8 @@ class Treat extends Component {
                 title, drugInfoList, hideDrugInfoMore, adversReactionList, changeReact, followUp, setFollowUp, isRead, hasFollowUp} = this.props;
         const { zIndex,show } = this.state
         const domNode = document.getElementById('root');
-        return ReactDom.createPortal(
+        // return ReactDom.createPortal(
+            return <NewPortal visible = 'true'>
             <div   className={style['treat-wrapper']}>
                 <div className={style['treat-mask']} onClick={this.hideTreat}>
                 </div>
@@ -127,8 +129,10 @@ class Treat extends Component {
                 {showDrug && drugInfo && <DrugInfo setTreatBox={this.setTreatBox} treatIndexSet={treatIndexSet} drugInfo = {drugInfo} hideDrugInfo = {hideDrugInfo}></DrugInfo>}
                 {/* 查询多个药品说明书 (添加数据查看药品说明书用)*/}
                 {/* {showDrug && <DrugInfo drugInfoList = {drugInfoList} hideDrugInfoMore = {hideDrugInfoMore}></DrugInfo>} */}
-            </div>,domNode
-        )
+            </div>
+            </NewPortal>
+        //     ,domNode
+        // )
     }
 }