Commit eda8f384868ed68dbf1eecf7c355371798100616

Authored by 李婷
1 parent 97476b99

feat: 监听页面点击关闭选择框

Showing 1 changed file with 23 additions and 0 deletions
@@ -99,6 +99,29 @@ const FormSelectMain: React.FC<FormSelectProps>= (props)=> { @@ -99,6 +99,29 @@ const FormSelectMain: React.FC<FormSelectProps>= (props)=> {
99 } 99 }
100 }, [JSON.stringify(value), JSON.stringify(options)]); 100 }, [JSON.stringify(value), JSON.stringify(options)]);
101 101
  102 + // 用来监听页面点击关闭选择框
  103 + useEffect(() => {
  104 + const controlVisible= (e: MouseEvent)=> {
  105 + if(state.modalVisible) return
  106 + let selectBox = document.getElementsByClassName('qx-form-select'); // 这个是自己的区域
  107 + let flag = false;
  108 + Array.prototype.forEach.call(selectBox, function (element) {
  109 + if(element.contains(e.target)) {
  110 + flag = true;
  111 + }
  112 + });
  113 + if (!flag) {
  114 + inputSelectRef.current?.closeDropdown();
  115 + }
  116 + }
  117 + // 监听页面点击关闭操作
  118 + document.addEventListener('click', controlVisible);
  119 +
  120 + return () => {
  121 + document.removeEventListener('click', controlVisible)
  122 + }
  123 + }, []);
  124 +
102 125
103 return ( 126 return (
104 <div className={cls(prefix, className)}> 127 <div className={cls(prefix, className)}>