How can i Multiply array object inside 'AddNewRow' function so i can create new rows based on quantity, if user insert '3' in quantity column and click on 'add' Button then '3' rows should be created.
How can i do This Please help me.
This Is My AddNewRow Function
/*For Handling addrow button event */
const addNewRow = () => {
try {
if (
GetLastProdId === "" ||
GetLastPrice === "" ||
GetLastProdSrno === "" ||
GetLastProd_Status === "ProDataWarranty" && GetLastProDataWarrentyInPrcnt === "NULL"
) {
console.log("empty fields!!!!!");
setFill(true);
} else if (GetLastProdSrno === GetSecondLastProd_Srno) {
setProdSrnoSame(true);
console.log("Prod SrNo same!!!");
} else {
setProdSrnoSame(false);
setProduct_Details((prevState) => [
...prevState,
//** Want This Object get multiplied By Clicking.
{
index: Math.random(),
billId: BillIdFetch,
prodId: "",
price: "",
prod_SrNo: "",
discount: "0",
Qty:"1",
Prod_Status: "NULL",
proData_warranty_In_Prcnt: "NULL",
Credit_Note: "NULL",
Replacement: "NULL",
},
]);
}
} catch (error) {
console.log(error);
}
};
You could create an array an add as many object copies to it as you want:
/*For Handling addrow button event */
const addNewRow = () => {
try {
if (
GetLastProdId === '' ||
GetLastPrice === '' ||
GetLastProdSrno === '' ||
(GetLastProd_Status === 'ProDataWarranty' &&
GetLastProDataWarrentyInPrcnt === 'NULL')
) {
console.log('empty fields!!!!!');
setFill(true);
} else if (GetLastProdSrno === GetSecondLastProd_Srno) {
setProdSrnoSame(true);
console.log('Prod SrNo same!!!');
} else {
setProdSrnoSame(false);
// Object to be multiplied
const obj = {
billId: BillIdFetch,
prodId: '',
price: '',
prod_SrNo: '',
discount: '0',
Qty: '1',
Prod_Status: 'NULL',
proData_warranty_In_Prcnt: 'NULL',
Credit_Note: 'NULL',
Replacement: 'NULL',
};
const addedObjs = [];
// Add as many `obj` as the quantity inserted by the user
for (let i = 0; i < multiplier; i++) addedObjs.push({ ...obj, index: Math.random(), });
setProduct_Details((prevState) => [
...prevState,
...addedObjs
]);
}
} catch (error) {
console.log(error);
}
};