我目前正在开发我的Flutter应用程序,在实现特定功能时遇到了困难。目标是在由三个TextField组成的页面上自动填充和禁用第三个TextField,一旦任何两个TextField已填充。此外,当至少一个已填充的TextField被清除时,应重新启用已禁用的TextField。
举例说明:
在第一种情况下,在第一和第二字段中输入数据时,第三字段应被禁用,并且其值应是第一和第二字段中输入的值的乘积。因此,每当在第一或第二字段中输入时,第三字段的值应相应地更新。
在另一种情况下,如果在第一个和第三个字段中输入数据,则第二个字段应被禁用,并且其值应自动更新。同样,我希望第一个字段在第二个和第三个字段中输入时表现出相同的行为。
我尝试使用TextEditingController和TextField的onChanged函数创建一个函数,但我无法实现对TextField值的连续更新。因此,我将非常感谢在这一问题上的任何援助。
提前感谢您的支持。
2条答案
按热度按时间dced5bon1#
你可以使用
TextEditingController
和flag var组合来实现你所需要的。还有很多其他的方法。下面我添加了工作示例实现。gxwragnw2#
为第一个字段中的每个文本字段设置一个控制器onChanged方法检查第二个文本字段是否为非空如果不是禁用第三个并进行计算如果它为空并且第三个文本字段为非空禁用第二个并进行计算
按照顺序在所有三个文本域上重复这种方法,然后处理空数据和清除数据。