Наследование пакетов Dart

#flutter #dart #inheritance #package

Вопрос:

Я использую библиотеку flutter rflutter_alert для отображения предупреждения (код просмотра). Но я хочу, чтобы кнопки отображались как a TextButton , а не как a DialogButton . Я думал, что смогу решить эту проблему, используя наследование в другом классе MyPopupAlert , и вместо этого использовать этот класс Alert(...) , но я не знаю, как это реализовать…

Я показал свою попытку внизу.

Спасибо

 _addPopup(context) {
    Alert(
        context: context,
        title: "LOGIN",
        content: Column(
          children: <Widget>[
            TextField(
              decoration: InputDecoration(
                icon: Icon(Icons.account_circle),
                labelText: 'Username',
              ),
            ),
            TextField(
              obscureText: true,
              decoration: InputDecoration(
                icon: Icon(Icons.lock),
                labelText: 'Password',
              ),
            ),
          ],
        ),
        buttons: [
          DialogButton(
            onPressed: () => Navigator.pop(context),
            child: Text(
              "LOGIN",
              style: TextStyle(
                color: Colors.blue,
                fontSize: 16,
              ),
            ),
          ),
          DialogButton(
            onPressed: () => Navigator.pop(context),
            child: Text(
              "LOGIN",
              style: TextStyle(
                color: Colors.blue,
                fontSize: 16,
              ),
            ),
          )
        ]).show();
  }
 
 import 'package:rflutter_alert/rflutter_alert.dart';
import 'package:flutter/material.dart';

class MyPopupAlert extends Alert {
  MyPopupAlert({List<TextButton> buttons});
}

 

Комментарии:

1. Если класс не может быть подключен к той структуре, которую вы хотите использовать, вам в основном не повезло. Ничто из того, что вы можете ввести, не может помешать ему вызвать существующий конструктор класса Alert ().

2. Оке, я попробую что-нибудь другое, спасибо за ответ!