diff --git a/src/components/FormItem/MemberAllocator/index.jsx b/src/components/FormItem/MemberAllocator/index.jsx index ccfa5c91..6232f7f5 100644 --- a/src/components/FormItem/MemberAllocator/index.jsx +++ b/src/components/FormItem/MemberAllocator/index.jsx @@ -25,7 +25,13 @@ import Item from './Item'; const { isIPv4, isIpv6 } = ipValidate; const MemberAllocator = ({ componentProps, formItemProps }) => { - const { maxNumber = 10, ports, isLoading, members = [] } = componentProps; + const { + maxNumber = 10, + ports, + isLoading, + members = [], + lbSubnetId, + } = componentProps; const { name, onChange } = formItemProps; const [currentFieldsLength, setLength] = useState(0); @@ -51,6 +57,9 @@ const MemberAllocator = ({ componentProps, formItemProps }) => { xs: 18, xm: 12, }} + extra={t( + 'If you choose a port which subnet is different from the subnet of LB, please ensure connectivity between the two.' + )} > { filterFunc: (record, val) => record.some((item) => item.ip_address.indexOf(val) > -1), }, + { + label: t('Same subnet with LB'), + name: 'origin_data', + options: [ + { + label: t('true'), + key: true, + }, + ], + filterFunc: (record, val) => { + return val + ? record.fixed_ips.some( + (item) => item.subnet_id === lbSubnetId + ) + : true; + }, + }, ]} /> @@ -280,7 +306,12 @@ const MemberAllocator = ({ componentProps, formItemProps }) => { {currentFieldsLength < maxNumber && ( - +