Как позвонить / использовать определенное расширение Flutter? - PullRequest
0 голосов
/ 08 января 2020

У меня это на 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; 
      })
    );
  }

}

Но когда я попытался вызвать его на своем виджете пользовательского интерфейса:

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")
    );
  }

Я получил ошибку:

Метод 'builder' не определен для класса 'Scaffold'.

Как мне использовать это расширение?

1 Ответ

0 голосов
/ 08 января 2020

Забудь об этом. По-видимому, мне нужно вызвать имя моего добавочного номера, чтобы получить доступ к функции stati c. Итак, я должен получить доступ к Context.builder вместо Scaffold.builder.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...