import React, { useEffect } from 'react' import { connect } from '@formily/react-schema-renderer' import moment from 'moment' import { Select } from 'antd' import { mapStyledProps, mapTextComponent, compose, isStr, isArr } from '../shared' import { useRequest } from 'umi'; import api from '@/api-client'; import { Spin } from '@nocobase/client' import get from 'lodash/get'; function RemoteSelectComponent(props) { let { schema = {}, value, onChange, disabled, resourceName, associatedKey, filter, labelField, valueField, objectValue, placeholder, multiple } = props; console.log({schema}); if (!resourceName) { resourceName = get(schema, 'component.resourceName'); } if (!filter) { filter = get(schema, 'component.filter'); } if (!labelField) { labelField = get(schema, 'component.labelField'); } if (!valueField) { valueField = get(schema, 'component.valueField'); } if (!valueField) { valueField = 'id'; } const { data = [], loading = true } = useRequest(() => { return api.resource(resourceName).list({ associatedKey, filter, }); }, { refreshDeps: [resourceName, associatedKey] }); const selectProps: any = {}; if (multiple) { selectProps.mode = 'multiple' } console.log({ data, props, associatedKey }) return ( <> ); } export const RemoteSelect = connect({ getProps: mapStyledProps, getComponent: mapTextComponent, })(RemoteSelectComponent) export default RemoteSelect