小编Kev*_*eps的帖子

Flutter 模态底部表单性能问题

拖动模态底部工作表时,如果工作表内存在大量小部件,则 flutter 应用程序会开始滞后。这只发生在模态底部工作表 (showModalBottomSheet) 上,而不发生在普通底部工作表 (showBottomSheet) 上。下面我附上了性能分析的屏幕截图,其中显示,当用户拖动时,工作表内的所有小部件都在不断重建。

我写了一个小演示来比较两种类型的工作表的性能。有没有办法防止拖动时重建?

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

/// This Widget is the main application widget.
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "demo",
      home: Scaffold(
        body: MyButtons(),
      ),
    );
  }
}

class MyButtons extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          RaisedButton(
            onPressed: () {
              showModalBottomSheet<void>(
                context: context,
                builder: (context) => BottomSheet(),
              );
            },
            child: Text("show modal (laggy)"),
          ), …
Run Code Online (Sandbox Code Playgroud)

performance flutter bottom-sheet

3
推荐指数
1
解决办法
4578
查看次数

具有多个激活器的 Vuetify 对话框

我在 vuetify 中制作了一个对话框,并希望它有多个可能的按钮来激活它。这些按钮彼此不同,并且有几个不同的组件。因此,我不能只将对话框组件导入到这些位置,因为按钮都是相同的,因为它们在对话框中定义:

<v-dialog>
  <template v-slot:activator="{ on, attrs }">
    <v-btn
      v-bind="attrs"
      v-on="on"
    >
      Activate
    </v-btn>
  </template>

  <v-card>
    My Content
  </v-card>
</v-dialog>
Run Code Online (Sandbox Code Playgroud)

有没有一种方法,无需复制组件文件即可达到我的目标?

dialog vue.js vuetify.js

3
推荐指数
1
解决办法
3554
查看次数

标签 统计

bottom-sheet ×1

dialog ×1

flutter ×1

performance ×1

vue.js ×1

vuetify.js ×1