You have to add a list of TextEditingController and need to add the contoller text to that list and parse it as you need.
List<String> selection = [];
List<Product> productList = [];
//---------Adding contoller to list
productProvider.getAll(user.guid).forEach((element) {//---List<Product>
final TextEditingController quantityController =
TextEditingController(text: element.quantity);
quantityControllers.add(quantityController);
});
//-------Adding list of products to list
List<Map<String, dynamic>> productItems = [];
List<Product> productOriginalList =
productProvider.getAll(user.guid);
for (int i = 0; i < productOriginalList.length; i++) {
final Product product = productOriginalList[i];
if (selection.contains(product.equipmentId)) {
productItems.add(product.toJson(quantityControllers[i].text));
}
/* Map<String, dynamic> toJson(String quan) => {
'ProductId': id,
'Quantity': quan,
};
TextField(
controller: quantityControllers[index],*/