Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
294 views
in Technique[技术] by (71.8m points)

dart - Flutter: CupertinoPicker to trigger functions inside the List

I am trying to trigger functions inside the List with the CupertinoPicker.

var _aa = [
      () {
        print('hello1!');
      },
      () {
        print('hello2!');
      },
      () {
        print('hello!3');
      },
    ];

Trying to execute _aa's functions. However, when I try to use it inside the CupertinoPicker, I get Avoid using unnecessary statements. statement.

   CupertinoPicker(
   backgroundColor: Colors.white,
   onSelectedItemChanged: (i) {
                         print(i);
                         _aa[i]; <--- error statement
                        },
                        itemExtent: 32.0,
                        children: List.generate(
                          _aa.length,
                          (i) {
                            print(i);
                          },
                        ),
                      ),

How can I make this work?

question from:https://stackoverflow.com/questions/65843177/flutter-cupertinopicker-to-trigger-functions-inside-the-list

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
List<Function> _aa = [
      () {
        print('hello1!');
      },
      () {
        print('hello2!');
      },
      () {
        print('hello!3');
      },
    ];

You forgot to add .call(), like this:

onSelectedItemChanged: (i) {
                         print(i);
                         _aa[i].call();
                        },

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

56.8k users

...