Multiple data select issue from 'Get_items_from'

hi! suppose there are over 200/300+ documents in a doc. now when i m going to get_items_from to select multiple documents, i have to search multiple documents to add… now the prob is that suppose when i select number 1 document



and then i search for document number 250 then the document 1 get discarded as it gets refreshed each time for searching …now what should i change in the code so that i can store the selected rows in the dialogue. erpnext version: 13 . Here is a part of my code snippet :

make_price_comparison_statement: (frm) => {
        const d = erpnext.utils.map_current_doc({
            method: "inctl_erp.buying_inctl.doctype.price_comparison_statement.price_comparison_statement.make_price_comparison_statement",
            source_doctype: "Supplier Quotation",
            target: frm,
            setters: [
                {
                    label: __("Material Request"),
                    fieldtype: "MultiSelectList",
                    fieldname: "material_request",
                    options: "Material Request",
                    get_data: function (txt) {
                        return frappe.db.get_link_options('Material Request', txt, {
                            company: frm.doc.company,
                            docstatus: 1,
                            status: [
                                "in",
                                ["Pending", "Partially Ordered"],
                            ],
                        });
                    },
                    onchange: async function () {
                        // Applied on child
                        if (d.$child_wrapper) {
                            await d.toggle_child_selection();
                        }else {
                            d.get_results()
                        }
                    },
                    child_doctype: "Supplier Quotation Item"
                },
                {
                    label: __("Item"),
                    fieldtype: "MultiSelectList",
                    options: "Item",
                    fieldname: "item_code",
                    get_data: function (txt) {
                        let items = {}

                        d.child_results.forEach(row => {
                            items[row.item_code]={description:'', value:row.item_code}
                        })
                        return Object.values(items);
                    },
                    onchange: async function () {
                        await d.toggle_child_selection();
                    },
                    child_doctype: "Supplier Quotation Item"
                },
                {
                    label: __("Supplier Name"),
                    fieldtype: "Link",
                    options: "Supplier",
                    fieldname: "supplier",
                    onchange: async function () {
                        // Applied on child
                        if (d.$child_wrapper) {
                            await d.toggle_child_selection();
                        }else {
                            d.get_results()
                        }
                    },
                    
                },
            ],
            allow_child_item_selection: true,
            add_filters_group: 1,
            child_fieldname: "items",
            child_columns: [
                "item_code",
                "supplier_name",
                "material_request",
                "qty",
                "rate",
            ],
            get_query:()=>{
                return {
                    "filters": {
                        docstatus: 1,
                        company: frm.doc.company,
                        status: ["=", "Submitted"],
                    },
                    "query": "inctl_erp.controllers.queries.serach_with_group_and_ord"
                }
            }
        });
    },
});