0

私の目標は、そのようなアップロードモジュールを作成することです: ここに画像の説明を入力

追加のメタデータを含む複数のファイルをアップロードしたいと考えています。ファイルの種類が請求書の場合、datepicker の結果も添付したいと思います。それ以外の場合はファイルのみで、そのタイプです。また、ボタンでそれぞれを削除したいです。

私はこのコードでその作業をしようとしています: https://codesandbox.io/s/multi-upload-problem-3ofbk?file=/src/App.js

「type」プロパティと「datepicker」プロパティの両方をファイルに添付できません。これは、入力ごとに異なる状態を持つためにそれらを別のコンポーネントにマップしたためです。

次のようにオブジェクトの配列を取得する代わりに:

 [
  {
    File: {
        path: 'file1.jpg',
        name: 'file1.jpg',
        lastModified: '123123123',
        lastModifiedDate: '231312312',
        size: 123123123,
        type: 'image/jpeg',
    },
    type_of_file: { docTypeSelect: 'invoice' },
    date_of_file: {
        invoiceDateInput: [
            'Tue Sep 07 2021 18:05:47 GMT+0400',
            'Fri Sep 10 2021 00:00:00 GMT+0400',
        ],
    },
 },
 {
    File: {
        path: 'file2.jpg',
        name: 'file2.jpg',
        lastModified: '123123123',
        lastModifiedDate: '231312312',
        size: 123123123,
        type: 'image/jpeg',
    },
    type_of_file: { docTypeSelect: 'other' },
    date_of_file: null,
 },
 {
    File: {
        path: 'file3.jpg',
        name: 'file3.jpg',
        lastModified: '123123123',
        lastModifiedDate: '231312312',
        size: 123123123,
        type: 'image/jpeg',
    },
    type_of_file: { docTypeSelect: 'image' },
    date_of_file: null,
 },
];

すべてが互いに離れてログに記録されます。バックエンドに送信する前に、この問題を解決し、すべてを 1 つの配列としてログに記録するにはどうすればよいですか? 私の心はこの問題で完全に混乱しています:/事前に感謝します.

4

1 に答える 1