扑通&提供者。我如何通过提供者的int值来改变文本?

问题描述 投票:0回答:1

如果改变通知器的类型是bool,我可以像这样改变文本。

...
Consumer<LoginOrSignup>(
  builder: (context, value, child) =>
      Text(value.isSignup? "Sign up" : "Login")
)
...

LoginOrSignup.dart:

import 'package:flutter/foundation.dart';

class LoginOrSignup extends ChangeNotifier{
  bool _isSignup = false;

  bool get isSignup => _isSignup;
}

如果 _isSignup 类型是int,我如何更改文本?

flutter drawer
1个回答
0
投票

是的,你可以,你应该将方法添加到你的 登录或注册 类,然后在你想要的时候调用这个方法,像这样。

import 'package:flutter/foundation.dart';

class LoginOrSignup extends ChangeNotifier{
  bool _isSignup = false;

  bool get isSignup => _isSignup;

  void changeStatus(bool status){
    _isSignup = status;
    notifyListeners();
  }
}

在你的视图中调用

value.changeStatus(false); //or true
© www.soinside.com 2019 - 2024. All rights reserved.