【问题标题】:How to call/use defined Flutter extension?如何调用/使用定义的 Flutter 扩展?
【发布时间】:2020-04-25 13:37:29
【问题描述】:

我在scaffold_context.dart 上有这个:

import 'package:flutter/material.dart';

extension Context on Scaffold {

  static Scaffold builder({ AppBar appBar, Function (BuildContext context) buildContext, Widget body }) {
    return Scaffold(
      appBar: appBar, 
      body: Builder(builder: (context) { 
        buildContext(context); 
        return body; 
      })
    );
  }

}

但是当我试图在我的 UI Widget 上调用它时:

import 'scaffold_context.dart';
...

  BuildContext _context;
  @override
  Widget build(BuildContext context) {
    return Scaffold.builder(
      appBar: AppBar(title: "Hello world"),
      buildContext: (context) => _context = context,
      body: Center(child: Text("Hello world")
    );
  }

我遇到了一个错误:

没有为“Scaffold”类定义方法“builder”。

我应该如何使用这个扩展?

【问题讨论】:

    标签: flutter extension-methods scaffold


    【解决方案1】:

    忘记它。显然,我必须调用我的扩展名才能访问静态函数。所以,我必须访问Context.builder 而不是Scaffold.builder

    【讨论】:

      猜你喜欢
      • 2019-01-17
      • 2021-08-29
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 2019-09-11
      相关资源
      最近更新 更多