Reviewed-on: daoyoucloud/tachycode#749 Co-authored-by: wjh <wwwjh0710@163.com> Co-committed-by: wjh <wwwjh0710@163.com>
This commit is contained in:
parent
f3671cf697
commit
4935dff231
5
.changeset/tasty-melons-think.md
Normal file
5
.changeset/tasty-melons-think.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"@nocobase/client": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
修复级联选择在编辑的时候没有值
|
@ -30,7 +30,6 @@ const SchemaField = createSchemaField({
|
|||||||
|
|
||||||
const Cascade = connect((props) => {
|
const Cascade = connect((props) => {
|
||||||
const { data, mapOptions, onChange } = props;
|
const { data, mapOptions, onChange } = props;
|
||||||
const [selectedOptions, setSelectedOptions] = useState([]);
|
|
||||||
const [options, setOptions] = useState(data);
|
const [options, setOptions] = useState(data);
|
||||||
const fieldSchema = useFieldSchema();
|
const fieldSchema = useFieldSchema();
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
@ -41,21 +40,23 @@ const Cascade = connect((props) => {
|
|||||||
const fieldFilter = fieldSchema['x-component-props']?.service?.params?.filter;
|
const fieldFilter = fieldSchema['x-component-props']?.service?.params?.filter;
|
||||||
const sort = fieldSchema['x-component-props']?.service?.params?.sort;
|
const sort = fieldSchema['x-component-props']?.service?.params?.sort;
|
||||||
const field: any = useField();
|
const field: any = useField();
|
||||||
|
const [selectedOptions, setSelectedOptions] = useState([]);
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (props.value) {
|
const propsValue = props.value || fieldSchema['x-component-props'].value;
|
||||||
const values = Array.isArray(props.value)
|
if (propsValue && !selectedOptions.length) {
|
||||||
|
const values = Array.isArray(propsValue)
|
||||||
? extractLastNonNullValueObjects(
|
? extractLastNonNullValueObjects(
|
||||||
props.value?.filter((v) => v.value),
|
propsValue?.filter((v) => v.value),
|
||||||
true,
|
true,
|
||||||
)
|
)
|
||||||
: transformNestedData(props.value);
|
: transformNestedData(propsValue);
|
||||||
const defaultData = values?.map?.((v) => {
|
const defaultData = values?.map?.((v) => {
|
||||||
return v.id;
|
return v.id;
|
||||||
});
|
});
|
||||||
setSelectedOptions(defaultData);
|
setSelectedOptions(defaultData);
|
||||||
}
|
}
|
||||||
onDropdownVisibleChange('true');
|
onDropdownVisibleChange('true');
|
||||||
}, []);
|
}, [fieldSchema['x-component-props'].value]);
|
||||||
const handleGetOptions = async () => {
|
const handleGetOptions = async () => {
|
||||||
const response = await resource.list({
|
const response = await resource.list({
|
||||||
pageSize: 9999,
|
pageSize: 9999,
|
||||||
@ -85,7 +86,7 @@ const Cascade = connect((props) => {
|
|||||||
if (index === option.length - 1) {
|
if (index === option.length - 1) {
|
||||||
options.push({
|
options.push({
|
||||||
key: item.id,
|
key: item.id,
|
||||||
children: null,
|
children: item.children || null,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
options.push({
|
options.push({
|
||||||
|
Loading…
Reference in New Issue
Block a user