/** * 必须要兼容,手动输入,以及选择负载均衡名字 * @author tuonian * @date 2023/7/4 */ import {AutoTypeInputProps, AdvanceInputConfigs} from "auto-antd"; import {Button, Input, Popover, Select} from "antd"; import {useAppSelector} from "../../../../store"; import {ChangeEvent, useEffect, useMemo, useState} from "react"; import {EditOutlined} from "@ant-design/icons"; import './index.less' export const StreamProxyPassInput = ({value, onChange}: AutoTypeInputProps)=>{ const upstreamServer = useAppSelector(state => state.nginx.streamUpstream); const [data,setData] = useState() const options = useMemo(()=>{ let list:any[] = [] if (upstreamServer?.upstreams){ list = upstreamServer.upstreams.map(item=>{ return { label: item.name, value: item.name } }) } return list },[upstreamServer]) useEffect(()=>{ setData(value) },[value]) const onSelectUpstream = (v?:string)=>{ if (v){ setData(v) onChange?.(v) } } const onUserInput = (e:ChangeEvent)=>{ setData(e.currentTarget.value) onChange?.(e.currentTarget.value) } const renderInput = ()=>{ return (