如何通过按钮清除Flutter屏幕上的所有不同变量?

6 浏览
0 Comments

如何通过按钮清除Flutter屏幕上的所有不同变量?

我对Flutter还比较新,想知道如何清除屏幕上的所有输入字段。

由于我没有使用表单字段,所以无法使用重置函数。我有一个重置按钮,当我点击它时,希望重新初始化所有输入字段并刷新屏幕。

以下是我的变量:

bool _check2 = false;

bool _check3 = false;

bool _check4 = false;

int taxYear = DateTime.now().year;

TextEditingController taxDueController = TextEditingController();

DateTime? payoffDate;

DateTime? filingTaxDate;

bool? filingEx1;

bool? filingEx2;

DateTime? noticeDate;

TextEditingController adjustmentTaxController = TextEditingController();

DateTime? installmentStartDate;

DateTime? installmentEndDate;

DateTime? levyDate;

int? noOfPayment;

DateTime? payment1Date;

TextEditingController payAmount1Controller = TextEditingController();

DateTime? payment2Date;

TextEditingController payAmount2Controller = TextEditingController();

DateTime? payment3Date;

TextEditingController payAmount3Controller = TextEditingController();

DateTime? payment4Date;

TextEditingController payAmount4Controller = TextEditingController();

bool detailedComputation = false;

DateTime payoffDateV0 = DateTime.now();

DateTime dateInNotice = DateTime.now();

final int _startYear = 2010;

0
0 Comments

问题出现的原因是需要在Flutter屏幕上使用一个按钮来清除所有不同的变量。解决方法是使用Stateful Widget和setState来更新在UI中使用的变量。使用setState可以在Stateful Widget中更新字段的值为null/empty,这会告诉Flutter重新构建表单字段。对于控制器,可以使用clear方法来清除,可以参考这个答案:How to add clear button to TextField Widget。以下是一个示例代码:

void resetButtonClicked() {

setState(() {

myVar = null;

// clear other variables

});

}

在这个示例中,resetButtonClicked函数使用了setState来更新myVar变量的值为null,以及清除其他变量。通过在按钮点击时调用resetButtonClicked函数,即可清除所有不同的变量。

0