diff --git a/src/app/container/relation/NewRelation.js b/src/app/container/relation/NewRelation.js index 87b2b7aabece702db6c489dd263234d3f1a35c00..42f23e57e8e215638d18783d46e8e5c8ee30e6e5 100644 --- a/src/app/container/relation/NewRelation.js +++ b/src/app/container/relation/NewRelation.js @@ -34,31 +34,30 @@ export default React.memo(({prefix, dataSource, dataChange, data}) => { dataChange(e.target.value, 'defName')}/> - { - !data.defKey &&
- + - - - - dataChange(e.target.value, 'relationType')} + defaultValue={data.relationType || relationType || 'field'} > - - - - -
- } + + + + +
{ - return m[word] || m.defKey || ''; - }); + if (m.defName) { + const tempDisplayMode = m.nameTemplate || '{defKey}[{defName}]'; + return tempDisplayMode.replace(/\{(\w+)\}/g, (match, word) => { + return m[word] || m.defKey || ''; + }); + } + return m.defKey; } return m.defName; } diff --git a/src/components/multipleselect/index.js b/src/components/multipleselect/index.js index cfb3a0fddd842c8aa7ed1c4b2ca0f357b3a64590..860203f465dbfa24e20604ce1778e72c24288234 100644 --- a/src/components/multipleselect/index.js +++ b/src/components/multipleselect/index.js @@ -8,7 +8,7 @@ import './style/index.less'; import {getPrefix} from '../../lib/prefixUtil'; const MultipleSelect = React.memo(({prefix, children, dropdownRender, allowClear = true, - defaultCheckValues, onChange, simple = false, + defaultCheckValues, onChange, simple = false, disable, ...restProps}) => { const inputRef = useRef(null); const optionsRef = useRef(null); @@ -132,24 +132,24 @@ const MultipleSelect = React.memo(({prefix, children, dropdownRender, allowClear } }; useEffect(() => { - if (visible) { + if (visible && !disable) { calcPosition(optionsRef.current); } - }, [visible, selected, checkValues]); + }, [visible, selected, checkValues, disable]); const onClear = (e) => { e.stopPropagation(); updateCheckValues([]); onChange && onChange([]); }; return
-
+
{simple ? { searchValue ? '' : (selected[0]?.props?.children || finalCheckValues[0]) }{allowClear && selected[0] - && @@ -159,7 +159,7 @@ const MultipleSelect = React.memo(({prefix, children, dropdownRender, allowClear selected.map((c) => { return {c?.props?.children} - closeClick(c.props.value)}/> + {!disable && closeClick(c.props.value)}/>} ; })} {restProps.placeholder || ''} - - - + { + !disable && + + + } { - visible ? ReactDOM.createPortal(getChildren(), document.body) : null + !disable && visible ? ReactDOM.createPortal(getChildren(), document.body) : null }
; diff --git a/src/components/multipleselect/style/index.less b/src/components/multipleselect/style/index.less index dd7736bfffa9873a9425e0d0591800b3cf39fecf..df925a26413c8785eb44132018f7ef677b8030e4 100644 --- a/src/components/multipleselect/style/index.less +++ b/src/components/multipleselect/style/index.less @@ -13,6 +13,9 @@ } } &-data { + &-disable { + background: @four-font-color + } position: relative; overflow: hidden; display: flex; diff --git a/src/components/select/index.js b/src/components/select/index.js index 40fa6057eeecd0ff8f56148fcc97c00eb4285d04..094e9d9a69fb0dcbe0583c95fc5a943b3e5389ce 100644 --- a/src/components/select/index.js +++ b/src/components/select/index.js @@ -5,7 +5,7 @@ import FormatMessage from '../formatmessage'; import './style/index.less'; -const Select = React.memo(({prefix, children = [], style, +const Select = React.memo(({prefix, children = [], style, disable, defaultValue, onChange, notAllowEmpty, ...restProps}) => { const [state, updateState] = useState([defaultValue]); const emptyChild = notAllowEmpty ? '' : @@ -33,6 +33,7 @@ const Select = React.memo(({prefix, children = [], style, onChange={values => _onChange(values)} checkValue={tempValue} simple + disable={disable} > { emptyChild ? [emptyChild].concat(children) : children