|
@@ -21,58 +21,36 @@ function usePrevious(props) {
|
21
|
21
|
*/
|
22
|
22
|
const BuildingSelect = props => {
|
23
|
23
|
const [data, setData] = useState([])
|
24
|
|
- const [value, setValue] = useState('')
|
25
|
|
-
|
26
|
|
- useEffect(() => {
|
27
|
|
- setValue(props.value)
|
28
|
|
- }, [props.value])
|
29
|
|
-
|
|
24
|
+ const [value, setValue] = useState([])
|
30
|
25
|
useEffect(() => {
|
31
|
26
|
getCityList();
|
32
|
|
- }, [])
|
|
27
|
+ }, [props.value])
|
33
|
28
|
|
34
|
|
- // const checkValue = data.filter(e => {
|
35
|
|
- // return e.buildingId == value
|
36
|
|
- // })
|
37
|
|
- // console.log(checkValue,"checkValuecheckValue")
|
38
|
|
- // console.log(value,"valuevaluevalue")
|
39
|
|
- // if(checkValue.length < 1 ){
|
40
|
|
- // console.log("111")
|
41
|
|
- // setValue("");
|
42
|
|
- // }
|
43
|
29
|
|
44
|
30
|
const getCityList = e => {
|
45
|
31
|
request({ ...apis.building.buildingSelect, params: { pageNum: 1, pageSize: 999 } }).then(data => {
|
46
|
32
|
setData(data.records)
|
|
33
|
+ checkValue(data.records)
|
47
|
34
|
// 默认选中第一个
|
48
|
|
- if (props.checkFirst) {
|
49
|
|
- setValue(data.records[0].buildingId)
|
50
|
|
- props.onChange(data.records[0].buildingId)
|
51
|
|
- }
|
52
|
35
|
})
|
53
|
36
|
}
|
54
|
37
|
|
55
|
|
- const checkValue = data.filter(e => {
|
56
|
|
- return e.buildingId == value
|
57
|
|
- })
|
58
|
|
-
|
59
|
|
- if(checkValue.length < 1 && value == props.value){
|
60
|
|
- setValue("");
|
61
|
|
- }
|
|
38
|
+ const checkValue = (data) => {
|
|
39
|
+ if (props.value) {
|
|
40
|
+ const tempData = data.filter(f => f.buildingId == props.value)
|
|
41
|
+ const va = (tempData.length > 0) ? props.value : '项目已下线,请重新选择项目'
|
|
42
|
+ props.onChange(va)
|
62
|
43
|
|
63
|
|
- const handleChange = e => {
|
64
|
|
- setValue(e)
|
65
|
|
- props.onChange(e)
|
|
44
|
+ }
|
66
|
45
|
}
|
67
|
|
- // '' === value ? undefined : value
|
|
46
|
+
|
68
|
47
|
return (
|
69
|
48
|
<Select
|
70
|
|
- {...props}
|
71
|
49
|
showSearch
|
72
|
|
- value={value}
|
|
50
|
+ value={props.value}
|
73
|
51
|
style={{ width: '300px' }}
|
74
|
52
|
placeholder="请选择项目"
|
75
|
|
- onChange={handleChange}
|
|
53
|
+ onChange={props.onChange}
|
76
|
54
|
filterOption={(input, option) =>
|
77
|
55
|
option.props.children && option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
78
|
56
|
}>
|