[本文翻译自hackingwithswift,点击链接阅读原文]
好的,让我们修复订单总额,使其准确无误。我们将在我们的类型中添加一个totalPrice
计算属性,该属性将计算他们的小费价值,将其添加到他们的订单总额中,并返回该金额。
请立即将此添加到CheckoutView
:
var totalPrice: String {
let total = Double(order.total)
let tipValue = total / 100 * Double(tipAmount)
return (total + tipValue).formatted(.currency(code: "USD"))
}
现在,请记住,每当我们的任何@State
属性发生变化时,SwiftUI都会重新调用我们的body
属性。因此,我们可以在布局中使用该计算属性,它将随着分割控件的变化而自动更改:
Section("Total: \(totalPrice)") {
如果你尝试一下,你应该会发现一切都很好用——总价反映了我们订购的商品,以及用户选择的任何提示。
评论区