访问具有上下文的函数值 - 颤振

问题描述

我正在编写一个带有颤振的待办事项应用程序。我有一个时间选择器和日期选择器。我想编写一个函数,当我按下自定义按钮时,将值添加数据库中,而不是当我在日期或时间选择器中按下确定时。但我不知道为上下文提供什么,因为我得到的上下文不能为空。 这是函数和一些变量。

class AppDelegate: NSObject,NSApplicationDelegate {        
    func applicationDidFinishLaunching(_ aNotification: Notification) {
      // In AppKit simply create the NSWindow and modify style.
      // In SwiftUI creating an NSWindow and styling results in 2 windows,// one styled and the other default.
    }
}

@main
struct testApp: App {
    
    @NSApplicationDelegateAdaptor(AppDelegate.self) var appDelegate : AppDelegate

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

这是时间选择功能

BuildContext contextBuild;

  createTask () async {
    var date = selectDate(contextBuild);
    DatabaseHelper dbHelper = DatabaseHelper();
    Task newTask = Task(date: date.toString());
    await dbHelper.insertTask(newTask);
  }

}

解决方法

例如:

// in class declaration
DateTime _selectedDate;

// In build method
FlatButton(
  child: Text('Select date'),onPressed: () async {
    _selctedDate = await selectDate(context);
  },),FlatButton(
  child: Text('Save'),onPressed: () async {
    // Save data in database w/o context
    _saveInDatabase(); 
  },