dart - 在颤振/飞镖中重用小部件
问题描述
我有以下 Flutter 代码,我试图弄清楚如何将第 1 部分放入一个单独的类中,以便我可以在多个屏幕上重用它,然后分别(不是同时,而是代替),如何将第 2 节(这是代码的较大部分)放入一个单独的类中,以及如何在具有变量的多个页面上重用它以能够更改标题。目前,我只是将整个代码复制并粘贴到每个屏幕中,但我知道通过重用代码必须有更好的方法。
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Welcome to Flutter',
home: Scaffold(
//------------------START SECTION 2---------------------------------------------
appBar: AppBar(
backgroundColor: Colors.blue,
title: Text(
"Welcome",
style: TextStyle(color: Colors.white),
),
actions: <Widget>[
// action button
//------------------START SECTION 1---------------------------------------------
PopupMenuButton<String>(
//onSelected: showMenuSelection
//icon: new Icon(Icons.add, color: Colors.blueGrey),
itemBuilder: (BuildContext context) => <PopupMenuItem<String>>[
const PopupMenuItem<String>(
value: 'Item 1', child: Text('Item 1')),
const PopupMenuItem<String>(
value: 'Item 2', child: Text('Item 2')),
],
),
//------------------END SECTION 1---------------------------------------------
],
),
//------------------END SECTION 2---------------------------------------------
body: Center(
child: Text('Hello World'),
),
),
);
}
}
解决方案
VS 代码让您只需单击几下即可提取小部件,如果您使用的是 VS 代码 - 选择小部件代码开始的行。点击Ctrl + .
,选择提取小部件选项,输入您选择的名称。然后您可以自定义提取的小部件以接受不同的参数并相应地返回小部件。任何 IDE 都可以这样做,但我不知道该过程。
编辑 1:由于我现在无法发布屏幕截图,因此我发现这个 SO 答案可能会有所帮助。:) https://stackoverflow.com/a/51235410/4794396
推荐阅读
- class - Kotlin 类中“this”的目的
- android - 从回收者视图适配器中获取价值到活动
- html - 尝试使用 CSS 在其他图像上添加图像
- firebase - 如何获取流
来自嵌套集合 Flutter/Firebase - java - Android使用自定义构造函数重新创建片段
- c++ - 数组为此归并排序函数提供了正确的输出,但向量给出了不正确的输出。出了什么问题?
- xpath - 查找具有非中断空间的标签的 xpath
- javascript - 如何使用 js 创建动态 HTML 来设计 PDF
- nodemailer - 如何使用nodejs nodemailer定义返回路径?
- c - 通过 USART 将数据从 atmega324p 发送到 arduino