Как я могу обновить два поля в модели одновременно?
Теперь у меня есть запрос, который возвращает мне псевдоним с {price: Float, productId: Int}
Мне нужно обновить два поля в модели, как model.price и model.productId
Я ищу что-то подобное, но это не работает (ofc)
case maybeProduct of
Just product ->
( { model | price = product.price &&
model | productId = product.productId}
, Cmd.none
)
Nothing ->
( model
, Cmd.none
)
Я нашел некоторую информацию, где совет, что я могу создать две функции
(Модель -> Продукт -> Модель) и сделайте что-то вроде:
setPrice : Model -> Product -> Model
setPrice model product =
{ model | price = product.price }
setProductId : Model -> Product -> Model
setProductId model product =
{ model | companyId = product.productId }
Just product ->
let
newModel =
product
|> setPrice model
|> setProductId model
in
( newModel
, Cmd.none
)
Nothing ->
( model
, Cmd.none
)
но что-то не работает. Похоже, что продукт не передается в каждой функции
я получаю
Аргумент:
Model
Но (|>) передает ему функцию, которая ожидает:
{ companyId : Int, price : Float }
Где я ошибаюсь? Или, может быть, есть другой способ обновить два поля в модели?