|
@@ -22,8 +22,6 @@ class MainSuit extends Component{
|
|
|
inpText:'',
|
|
|
clearTimer:null,
|
|
|
overFlag:false,
|
|
|
- tmpScroll:0,
|
|
|
- tmpTop:0,
|
|
|
};
|
|
|
this.toggleEditable = this.toggleEditable.bind(this);
|
|
|
this.handleFocus = this.handleFocus.bind(this);
|
|
@@ -33,9 +31,6 @@ class MainSuit extends Component{
|
|
|
this.handleClick = this.handleClick.bind(this);
|
|
|
this.handleBlur = this.handleBlur.bind(this);
|
|
|
}
|
|
|
- componentWillReceiveProps(nextProps){
|
|
|
- this.setState({boxLeft:nextProps.boxLeft})
|
|
|
- }
|
|
|
toggleEditable(){
|
|
|
this.setState({
|
|
|
boxEditable:!this.state.boxEditable
|
|
@@ -134,28 +129,17 @@ class MainSuit extends Component{
|
|
|
}
|
|
|
|
|
|
|
|
|
- handleClick(e){//让搜索框跟随鼠标点击移动
|
|
|
+ handleClick(e){
|
|
|
// e.stopPropagation(); //冒泡到最顶层关闭其他下拉
|
|
|
- //若使用e.target,因为是onClick事件中,值可能是itembox的而不是span因此会有bug
|
|
|
- const {getSearchLocation} = this.props;
|
|
|
- let leftL=0; //用焦点元素的左边距替换鼠标点击的左边距,高度还是鼠标点击的位置
|
|
|
- let num = this.props.datas.length == 0?0:60
|
|
|
- if(isIE()){
|
|
|
- leftL = getPageCoordinate(e).boxLeft
|
|
|
- }else{
|
|
|
- const ele = document.activeElement;
|
|
|
- leftL = ele.offsetLeft+num
|
|
|
- }
|
|
|
- getSearchLocation(getPageCoordinate(e).boxTop,leftL)
|
|
|
+ //搜索框位置
|
|
|
+ const ele = document.activeElement;
|
|
|
+ const height = ele.offsetHeight;
|
|
|
+ let boxTop = (+(ele.offsetTop)+height);
|
|
|
+ let boxLeft = ele.offsetLeft;
|
|
|
this.setState({
|
|
|
- tmpScroll: $("#addScrollEvent")[0].scrollTop,
|
|
|
- tmpTop:getPageCoordinate(e).boxTop
|
|
|
+ boxLeft:boxLeft,
|
|
|
+ boxTop:boxTop
|
|
|
});
|
|
|
- windowEventHandler('scroll',()=>{ //弹窗跟随滚动条滚动或者关闭弹窗
|
|
|
- let scrollYs = $("#addScrollEvent")[0].scrollTop;
|
|
|
- let boxTop = this.state.tmpTop - scrollYs + this.state.tmpScroll
|
|
|
- getSearchLocation(boxTop,this.state.boxLeft)
|
|
|
- },$("#addScrollEvent")[0])
|
|
|
}
|
|
|
|
|
|
handleChange(e){
|
|
@@ -265,8 +249,8 @@ class MainSuit extends Component{
|
|
|
|
|
|
|
|
|
render(){
|
|
|
- const {type,CommonSymptoms,searchData,fetchPushInfos,isRead,totalHide,handleInput,fuzhen,saveText,editClear,datas,commSymHide,boxLeft,boxTop} = this.props;
|
|
|
- const {symptom} = this.state;
|
|
|
+ const {type,CommonSymptoms,searchData,fetchPushInfos,isRead,totalHide,handleInput,fuzhen,saveText,editClear,datas,commSymHide} = this.props;
|
|
|
+ const {symptom,boxLeft,boxTop} = this.state;
|
|
|
const symptomFlag = CommonSymptoms.length>0 ? true : false;
|
|
|
const searchFlag = searchData.length>0 ? true : false;
|
|
|
const boxTop1 = datas.length>0?boxTop:45;
|