v1.2.0
combos
Flutter용 콤보 위젯. Combo, AwaitCombo, ListCombo, SelectorCombo, TypeaheadCombo, MenuItemCombo 포함
21좋아요 5830일 다운로드40Pub 점수
플랫폼 정보 없음
Flutter용 조합 위젯
아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
Combo widgets for Flutter.
Includes:
Combo(
child: const Padding(
padding: EdgeInsets.all(16),
child: Text('Combo child'),
),
popupBuilder: (context, mirrored) => const Material(
elevation: 4,
child: Padding(
padding:
EdgeInsets.symmetric(vertical: 48, horizontal: 16),
child: Center(child: Text('Combo popup')),
),
),
)
AwaitCombo(
child: const Padding(
padding: EdgeInsets.all(16),
child: Text('Combo child'),
),
popupBuilder: (context) async {
await Future.delayed(const Duration(milliseconds: 500));
return const Material(
elevation: 4,
child: Padding(
padding:
EdgeInsets.symmetric(vertical: 48, horizontal: 16),
child: Center(child: Text('Combo popup')),
),
);
},
)
ListCombo<String>(
child: const Padding(
padding: EdgeInsets.all(16),
child: Text('Combo child'),
),
getList: () async {
await Future.delayed(const Duration(milliseconds: 500));
return ['Item1', 'Item2', 'Item3'];
},
itemBuilder: (context, parameters, item) => ListTile(title: Text(item)),
onItemTapped: (item) {},
)
String _item;
...
SizedBox(
width: 200,
child: SelectorCombo<String>(
selected: _item,
getList: () async {
await Future.delayed(const Duration(milliseconds: 500));
return ['Item1', 'Item2', 'Item3'];
},
itemBuilder: (context, parameters, item) =>
ListTile(title: Text(item ?? '<Empty>')),
onItemTapped: (item) => setState(() => _item = item),
),
)
String _item;
...
SizedBox(
width: 200,
child: TypeaheadCombo<String>(
selected: _item,
getList: (text) async {
await Future.delayed(const Duration(milliseconds: 500));
return ['Item1', 'Item2', 'Item3'];
},
itemBuilder: (context, parameters, item) =>
ListTile(title: Text(item ?? '<Empty>')),
onItemTapped: (item) => setState(() => _item = item),
getItemText: (item) => item,
decoration: const InputDecoration(labelText: 'Typeahead'),
),
)
MenuItemCombo<String>(
item: MenuItem(
'File',
() => [
MenuItem('New'),
MenuItem.separator,
MenuItem('Open'),
MenuItem('Save'),
MenuItem('Save As...'),
MenuItem.separator,
MenuItem(
'Recent',
() => [
MenuItem('Folders', () async {
await Future.delayed(
Duration(milliseconds: 500));
return [
MenuItem('Folder 1'),
MenuItem('Folder 2'),
MenuItem('Folder 3'),
];
}),
MenuItem('Files', () async {
await Future.delayed(
Duration(milliseconds: 500));
return [
MenuItem('File 1'),
MenuItem('File 2'),
MenuItem('File 3'),
];
}),
]),
MenuItem.separator,
MenuItem('Exit'),
]),
itemBuilder: (context, parameters, item) => Padding(
padding: const EdgeInsets.all(16),
child: Text(item.item),
),
onItemTapped: (value) {
final dialog =
AlertDialog(content: Text('${value.item} tapped!'));
showDialog(context: context, builder: (_) => dialog);
},
)
의존성 목록 2 개
{"sdk":"flutter"}^1.8.0사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗