Я пытаюсь обновить дату обновления от state.form.form.radewon, когда пользователь выбирает, но значение по умолчанию для этого будет на один месяц вперед с даты Starton. < /p>
Начальный Значение для Starton и Renewon была установлена на NULL. Всякий раз, когда я пытаюсь установить обновление до более чем одного месяца, функция вызывается и сбрасывается на один месяц. Поскольку это в новой модели оплаты, дата Starton должна быть установлена на последнюю дату продления, и дата обновления должна быть установлена на один месяц вперед по умолчанию. Пользователь должен иметь возможность обновить дату обновления более чем на месяц, но всякий раз, когда я пытаюсь вызвать эту функцию, он продолжает цикл и сброс обратно в дату по умолчанию. < /P>
const setPaymentData = (data: GetPaymentSummaryResponse) => {
let startOn = state.form.Start_On;
let renewOn = state.form.Renew_On;
console.log("Initial Start On:", startOn);
console.log("Initial renew On:", renewOn);
if (data.results.paymentSummary)
{
console.log("Payment Summary Data:", JSON.stringify(data.results.paymentSummary));
if (data.results.paymentSummary.startOn && data.results.paymentSummary.renewOn)
{
startOn = localIsoString(data.results.paymentSummary.renewOn).slice(0,10);
renewOn = addMonths(new Date(startOn), 1).toISOString().slice(0, 10);
} else if (data.results.paymentSummary.startOn) {
startOn = localIsoString(data.results.paymentSummary.startOn).slice(0,10);
renewOn = addMonths(new Date(startOn), 1).toISOString().slice(0, 10);
}
} else {
//New Members startOn date and renewOn date
startOn = new Date().toISOString().slice(0,10);
renewOn = addMonths(new Date(), 1).toISOString().slice(0,10);
}
console.log("Start On:", startOn);
console.log("renew On:", renewOn);
< /code>
const initialState = {
Type: [] as IType[],
Start_On: new Date().toISOString().slice(0, 10),
Renew_On: addMonths(new Date(), 1).toISOString().slice(0, 10),
Payment_Mode: "cash",
Funding_Option: [] as IFundingOption[],
Optional_Member: [] as IHealthyMemberDifference[],
PaymentSummary: {
plan_Price: {
price: 0,
currency: "",
month: "",
},`your text`
active_Members: 0,
options: 0,
duration: 0,
costs: 0,
total_Cost: 0,
deductions: 0,
offset_Difference: 0,
offset_Payment: 0,
currency: "",
startOn: null as string | null | undefined,
renewOn: null as string | null | undefined,
},
Members_List_Payment: [] as CreatePaymentBody["members_List_Payment"],
SMSToLeader: false,
};
< /code>
this is initial state.
Dispatch:
dispatch({
type: "set_form",
payload: {
PaymentSummary: {
plan_Price: data.results.paymentSummary.plan_Price,
active_Members: data.results.paymentSummary.active_Members,
options: data.results.paymentSummary.options,
duration: data.results.paymentSummary.duration,
costs: data.results.paymentSummary.costs,
total_Cost: data.results.paymentSummary.total_Cost,
deductions: data.results.paymentSummary.deductions,
offset_Difference: data.results.paymentSummary.offset_Difference,
offset_Payment: data.results.paymentSummary.offset_Payment,
currency: data.results.paymentSummary.currency,
startOn: data.results.paymentSummary.startOn,
renewOn: data.results.paymentSummary.renewOn,
},
Members_List_Payment: data.results.members_List_Payment.map((mp) => ({
member_Id: mp.member_Id,
memberName: mp.memberName,
memberPlan: mp.memberPlan,
transaction_type: mp.transaction_type,
})),
Type:
data.results.type?.map((type) => ({
id: type.id,
name: type.name,
})) ?? [],
Start_On: startOn,
Renew_On: renewOn,
Funding_Option:
data.results.funding_Option?.map((fo) => ({
Member_Id: fo.member_Id,
Type: {
id: fo.type.id,
name: fo.type.name,
},
Amount: fo.amount,
})) ??
state.form.Funding_Option ??
[],
Optional_Member:
data.results.optional_Member?.map((om) => ({
Member_Id: om.member_Id,
Quantity: om.quantity,
Amount: om.amount,
})) ??
state.form.Optional_Member ??
[],
Payment_Mode: data.results.payment_Mode ?? "cash",
},
});
};
Подробнее здесь: https://stackoverflow.com/questions/794 ... ser-choose
Как мне обновить значение функции диспетчерской, чтобы всякий раз, когда пользователь выбирал дату обновления, она обнов ⇐ Javascript
Форум по Javascript
1740057626
Anonymous
Я пытаюсь обновить дату обновления от state.form.form.radewon, когда пользователь выбирает, но значение по умолчанию для этого будет на один месяц вперед с даты Starton. < /p>
Начальный Значение для Starton и Renewon была установлена на NULL. Всякий раз, когда я пытаюсь установить обновление до более чем одного месяца, функция вызывается и сбрасывается на один месяц. Поскольку это в новой модели оплаты, дата Starton должна быть установлена на последнюю дату продления, и дата обновления должна быть установлена на один месяц вперед по умолчанию. Пользователь должен иметь возможность обновить дату обновления более чем на месяц, но всякий раз, когда я пытаюсь вызвать эту функцию, он продолжает цикл и сброс обратно в дату по умолчанию. < /P>
const setPaymentData = (data: GetPaymentSummaryResponse) => {
let startOn = state.form.Start_On;
let renewOn = state.form.Renew_On;
console.log("Initial Start On:", startOn);
console.log("Initial renew On:", renewOn);
if (data.results.paymentSummary)
{
console.log("Payment Summary Data:", JSON.stringify(data.results.paymentSummary));
if (data.results.paymentSummary.startOn && data.results.paymentSummary.renewOn)
{
startOn = localIsoString(data.results.paymentSummary.renewOn).slice(0,10);
renewOn = addMonths(new Date(startOn), 1).toISOString().slice(0, 10);
} else if (data.results.paymentSummary.startOn) {
startOn = localIsoString(data.results.paymentSummary.startOn).slice(0,10);
renewOn = addMonths(new Date(startOn), 1).toISOString().slice(0, 10);
}
} else {
//New Members startOn date and renewOn date
startOn = new Date().toISOString().slice(0,10);
renewOn = addMonths(new Date(), 1).toISOString().slice(0,10);
}
console.log("Start On:", startOn);
console.log("renew On:", renewOn);
< /code>
const initialState = {
Type: [] as IType[],
Start_On: new Date().toISOString().slice(0, 10),
Renew_On: addMonths(new Date(), 1).toISOString().slice(0, 10),
Payment_Mode: "cash",
Funding_Option: [] as IFundingOption[],
Optional_Member: [] as IHealthyMemberDifference[],
PaymentSummary: {
plan_Price: {
price: 0,
currency: "",
month: "",
},`your text`
active_Members: 0,
options: 0,
duration: 0,
costs: 0,
total_Cost: 0,
deductions: 0,
offset_Difference: 0,
offset_Payment: 0,
currency: "",
startOn: null as string | null | undefined,
renewOn: null as string | null | undefined,
},
Members_List_Payment: [] as CreatePaymentBody["members_List_Payment"],
SMSToLeader: false,
};
< /code>
this is initial state.
Dispatch:
dispatch({
type: "set_form",
payload: {
PaymentSummary: {
plan_Price: data.results.paymentSummary.plan_Price,
active_Members: data.results.paymentSummary.active_Members,
options: data.results.paymentSummary.options,
duration: data.results.paymentSummary.duration,
costs: data.results.paymentSummary.costs,
total_Cost: data.results.paymentSummary.total_Cost,
deductions: data.results.paymentSummary.deductions,
offset_Difference: data.results.paymentSummary.offset_Difference,
offset_Payment: data.results.paymentSummary.offset_Payment,
currency: data.results.paymentSummary.currency,
startOn: data.results.paymentSummary.startOn,
renewOn: data.results.paymentSummary.renewOn,
},
Members_List_Payment: data.results.members_List_Payment.map((mp) => ({
member_Id: mp.member_Id,
memberName: mp.memberName,
memberPlan: mp.memberPlan,
transaction_type: mp.transaction_type,
})),
Type:
data.results.type?.map((type) => ({
id: type.id,
name: type.name,
})) ?? [],
Start_On: startOn,
Renew_On: renewOn,
Funding_Option:
data.results.funding_Option?.map((fo) => ({
Member_Id: fo.member_Id,
Type: {
id: fo.type.id,
name: fo.type.name,
},
Amount: fo.amount,
})) ??
state.form.Funding_Option ??
[],
Optional_Member:
data.results.optional_Member?.map((om) => ({
Member_Id: om.member_Id,
Quantity: om.quantity,
Amount: om.amount,
})) ??
state.form.Optional_Member ??
[],
Payment_Mode: data.results.payment_Mode ?? "cash",
},
});
};
Подробнее здесь: [url]https://stackoverflow.com/questions/79454650/how-do-i-update-the-value-the-dispatch-function-so-that-whenever-the-user-choose[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия