Swiftui 在继续之前等待操作表结果?
我在Swiftui 在继续之前等待操作表结果?,swiftui,Swiftui,我在.contextMenu中有一个按钮(即:标记为已付款) 它所做的第一件事是在操作表上切换以选择付款方式。紧接着是一些代码,通过EventKit向用户日历添加条目 我的问题是,我希望actionSheet在执行EventKit代码之前返回一个结果 你怎么让它等 特性: @State private var showPaymentSheet = false @State private var paymentType = "" var actionSheet: Actio
.contextMenu
中有一个按钮(即:标记为已付款)
它所做的第一件事是在操作表上切换以选择付款方式。紧接着是一些代码,通过EventKit向用户日历添加条目
我的问题是,我希望actionSheet在执行EventKit代码之前返回一个结果
你怎么让它等
特性:
@State private var showPaymentSheet = false
@State private var paymentType = ""
var actionSheet: ActionSheet {
ActionSheet(title: Text("Payment Method"), buttons: [
.default(Text("You can use onReceive
.
Here is a simple demo:
struct ContentView: View {
@State private var showPaymentSheet = false
@State private var paymentType = ""
var body: some View {
Button("Choose payment") {
self.showPaymentSheet.toggle()
}
.actionSheet(isPresented: $showPaymentSheet) {
self.actionSheet
}
.onReceive(Just(paymentType)) { // <- add here
guard !$0.isEmpty else { return }
self.someOtherFunc()
}
}
var actionSheet: ActionSheet {
...
}
func someOtherFunc() {
print(paymentType)
}
}
@State private var showPaymentSheet=false
@国家私有var paymentType=“”
var操作表:操作表{
操作表(标题:文本(“付款方式”),按钮:[
.default(文本(“您可以在接收时使用onReceive
)
下面是一个简单的演示:
struct ContentView:View{
@国家私有var showPaymentSheet=假
@国家私有var paymentType=“”
var body:一些观点{
按钮(“选择付款”){
self.showPaymentSheet.toggle()
}
.actionSheet(显示:$showPaymentSheet){
自我行动表
}
.onReceive(Just(paymentType)){/您可以使用onReceive
下面是一个简单的演示:
struct ContentView:View{
@国家私有var showPaymentSheet=假
@国家私有var paymentType=“”
var body:一些观点{
按钮(“选择付款”){
self.showPaymentSheet.toggle()
}
.actionSheet(显示:$showPaymentSheet){
自我行动表
}
.onReceive(Just(paymentType)){//