mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-07-02 03:02:19 +08:00
fix: foreignKey, targetKey, sourceKey support filtering by Chinese characters (#5997)
This commit is contained in:
parent
bea3ebccc4
commit
b4ed765317
@ -149,6 +149,7 @@ export const SourceKey = observer(
|
|||||||
defaultValue={sourceKey || options?.[0]?.value}
|
defaultValue={sourceKey || options?.[0]?.value}
|
||||||
onChange={props?.onChange}
|
onChange={props?.onChange}
|
||||||
showSearch
|
showSearch
|
||||||
|
filterOption={(input, option) => option?.label.toLowerCase().includes(input.toLowerCase())}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
@ -216,6 +217,7 @@ export const TargetKey = observer(
|
|||||||
}}
|
}}
|
||||||
value={initialValue}
|
value={initialValue}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
|
filterOption={(input, option) => option?.label.toLowerCase().includes(input.toLowerCase())}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
@ -235,6 +237,7 @@ export const ForeignKey = observer(
|
|||||||
const compile = useCompile();
|
const compile = useCompile();
|
||||||
const form = useForm();
|
const form = useForm();
|
||||||
const [initialValue, setInitialValue] = useState(value || (template === 'view' ? null : field.initialValue));
|
const [initialValue, setInitialValue] = useState(value || (template === 'view' ? null : field.initialValue));
|
||||||
|
const [initialOptions, setInitialOptions] = useState([]);
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const effectField = ['belongsTo'].includes(type)
|
const effectField = ['belongsTo'].includes(type)
|
||||||
? collectionName
|
? collectionName
|
||||||
@ -254,6 +257,7 @@ export const ForeignKey = observer(
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
setOptions(sourceOptions);
|
setOptions(sourceOptions);
|
||||||
|
setInitialOptions(sourceOptions);
|
||||||
if (value) {
|
if (value) {
|
||||||
const option = sourceOptions.find((v) => v.value === value);
|
const option = sourceOptions.find((v) => v.value === value);
|
||||||
setInitialValue(option?.label || value);
|
setInitialValue(option?.label || value);
|
||||||
@ -295,6 +299,15 @@ export const ForeignKey = observer(
|
|||||||
props?.onChange?.(value);
|
props?.onChange?.(value);
|
||||||
setInitialValue(option.label || value);
|
setInitialValue(option.label || value);
|
||||||
}}
|
}}
|
||||||
|
onSearch={(value) => {
|
||||||
|
if (value) {
|
||||||
|
const targetValue = value.toLocaleLowerCase();
|
||||||
|
const result = options.filter((v) => v.label.toLocaleLowerCase().includes(targetValue));
|
||||||
|
setOptions(result);
|
||||||
|
} else {
|
||||||
|
setOptions(initialOptions);
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user