gpt4 book ai didi

Flutter 在变量值改变时执行一个函数

转载 作者:行者123 更新时间:2023-12-05 05:55:41 26 4
gpt4 key购买 nike

我是 flutter 的新手,在我的小部件中我有一个整数,我想在它的值改变时执行一个函数。

  import 'package:flutter/material.dart';

class TestPageWidget extends StatefulWidget {
const TestPageWidget({ Key? key }) : super(key: key);

@override
_TestPageWidgetState createState() => _TestPageWidgetState();
}

class _TestPageWidgetState extends State<TestPageWidget> {

int myItem = 1; //listen changes to this and execute a function


@override
void initState() {
super.initState();

//change myItem value after 3 seconds
Future.delayed(Duration(seconds: 3), () {
myItem = 3;
});
}

//something like this. Am not sure how i can listen for the change
ValueNotifier(value) {
print('Value as now changed'); //expected this to show after delay of 3 seconds
}
}

AM 更改 initstate 中的值并使用 ValueNotifier 检查它是否已更改,但即使更改后也不会打印。有没有一种方法可以监视 myItem 值并在值发生变化时执行函数。

最佳答案

根据您的要求,有一个不使用 ValueNotifier 的简单解决方案。 ValueNotifier 更适合当你想在一个值改变时刷新一个 widget

class _TestPageWidgetState extends State<TestPageWidget> {

int myItem = 0; //listen changes to this and execute a function

void setItem(int itemValue){
this.myItem = itemValue;
this.itemChanged();

}
@override
void initState() {
super.initState();

//change myItem value after 3 seconds
Future.delayed(Duration(seconds: 3), () {
setItem(3);
});
}

void itemChanged() {
print(this.myItem);
}

关于Flutter 在变量值改变时执行一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69407267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com