Commit f4c55cc8 by zhaochengxiang

owner加载慢的问题

parent 079c427c
import React from "react" import React, { useState, useMemo, useEffect } from "react"
import {Select} from "antd" import {Select} from "antd"
import debounce from 'lodash/debounce';
const {Option} = Select const {Option} = Select
...@@ -7,6 +8,22 @@ const SelectUser:React.FC=(props)=>{ ...@@ -7,6 +8,22 @@ const SelectUser:React.FC=(props)=>{
const {value,onChange,users,type,} = props const {value,onChange,users,type,} = props
const [searchValue, setSearchValue] = useState(undefined)
const debounceFetcher = useMemo(() => {
return debounce((value) => {
setSearchValue(value);
}, 800);
}, [users]);
const filterUsers = useMemo(() => {
if (searchValue) {
return users?.filter(item => item.nachn?.includes(searchValue) || item.pernr?.includes(searchValue));
}
return users||[];
}, [users, searchValue])
const change=(value)=>{ const change=(value)=>{
onChange&&onChange(value) onChange&&onChange(value)
} }
...@@ -19,25 +36,11 @@ const SelectUser:React.FC=(props)=>{ ...@@ -19,25 +36,11 @@ const SelectUser:React.FC=(props)=>{
value={value} value={value}
onChange={change} onChange={change}
allowClear allowClear
filterOption={(inputvalue,option)=>{ filterOption={false}
if(inputvalue){ onSearch={debounceFetcher}
console.log(option)
try {
if(option.children.includes(inputvalue)||option.value.includes(inputvalue)){
return true
}else{
return false
}
} catch (error) {
return true
}
}else{
return true
}
}}
> >
{ {
users?.map((item)=>{ filterUsers?.map((item)=>{
return( return(
<Option vlaue={item.pernr} key={item.pernr}>{`${item.nachn}(${item.pernr})`}</Option> <Option vlaue={item.pernr} key={item.pernr}>{`${item.nachn}(${item.pernr})`}</Option>
) )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment