У меня есть поле ввода, в котором есть дата, но проблема в том, что, когда я не хочу выбирать дату, которая не является сегодняшней, каждый раз берется текущая дата и сохраняется в бэкэнде.
Я хочу, чтобы в поле ввода был выбран, например, 15.11.2018, который будет сохранен.
При методе сохранения в журнале консоли это говорит мне правильно, я думаю, что проблема только в редукторах
Это мой код
<app-input-field label="{{'general.#date'|translate}}">
<input type="date" step="1" [ngModel]="newCosts.choosenDate| date:'yyyy-MM-dd'" (ngModelChange)="newCosts.choosenDate = $event">
</app-input-field>
save() {
this.newCosts.choosenDate = new Date(this.newCosts.choosenDate)
this.store.dispatch(new UpsertCostsAction({
costs: { ...this.newCosts }
}))
this.newCosts = emptyCosts()
}
export interface Costs {
id: string
choosenDate: Date
}
export function emptyCosts(): Costs {
return {
id: "",
choosenDate: new Date(),
}
}
Переходники
function toCostsViewModel(costs: Costs): Costs {
costs.choosenDate = new Date(costs.choosenDate)
return costs
}
function upsertCosts(state: ValueItemDatabaseState, action: UpsertCostsInternalAction): ValueItemDatabaseState {
action.payload.forEach(cost => {
state.costs = state.costs.set(cost.id, toCostsViewModel(cost))
})
return {
...state
}
}