Flutter

Flutter - Spread Operator 활용

Aostols 2022. 6. 23. 21:41
반응형

표시된 부분과 같이 버튼이 다수 존재 하는데 이것이 상황에 따라 달라질 경우

예를들면 A라는 사람에게는 2개, B라는 사람에게는 3개가 표시 되어야 할 상황이라면 위젯을 그냥 박아버리면 문제가 될 수 있습니다.

이때 Spread Operator 를 활용 할 수 있습니다.

 

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  var TextArray = ['Hello', 'World', 'ABCD'];

  void ButtonClick() {
    print('Button Click');
  }

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
            appBar: AppBar(title: Text('Widget By Collection')),
            body: Column(
              children: [
                ...TextArray.map((str) {
                  return ElevatedButton(
                      onPressed: ButtonClick, child: Text(str));
                }).toList()
              ],
            )));
  }
}

여기서 중요한 부분은 ...TextArray 부터 입니다.

...TextArray.map((str) {
                  return ElevatedButton(
                      onPressed: ButtonClick, child: Text(str));
                }).toList()

... 연산자로 배열을 쪼개 버립니다.

이후 map 함수를 활용하여 개별 객체에 대한 함수를 수행합니다.

ElevatedButton을 만들어서 반환 시키며 버튼 콜백도 달고 버튼에 텍스트도 붙여 줍니다.

 

이렇게 명령어로 쪼개 버려도 모든 것이 다 정상 동작 하는것을 확인 하였습니다.

 

반응형

'Flutter' 카테고리의 다른 글

Flutter - Asset 사용(Font, Image)  (0) 2022.07.14
Flutter - 스크롤  (0) 2022.07.12
Flutter 각종 연산자  (0) 2022.06.23
Flutter - CustomWidget + VoidCallback  (0) 2022.06.23
Flutter - StatelessWidget / StatefulWidget  (0) 2022.06.20