嗨,美好的一天,我在我的mysql中有一个值枚举,待处理完毕,我想在我的flutter应用程序中显示第一个字母,例如Pending,或者是否完成

                              Text('Status:\t' + x.status,
                                       style: TextStyle(
                                            fontSize: 25.0,
                                            fontWeight: FontWeight.bold,
                                            color: x.status == 'pending'
                                                ? Colors.red
                                                : Colors.green)),
分析解答

看看我创建的这个例子。

import 'package:flutter/material.dart';

import 'capitalize.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: SampleApp(),
      debugShowCheckedModeBanner: false,
    );
  }
}

class SampleApp extends StatefulWidget {
  @override
  _SampleAppState createState() => _SampleAppState();
}

class _SampleAppState extends State<SampleApp> {


  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text('Your heading'),
        ),
        body: Container(
            child:  Column(
                    children: <Widget>[
                     Text("someString".capitalize())
                    ],
                  )));
  }
}



这是dart文件:capitalize.dart



extension StringExtension on String {
    String capitalize() {
      return "${this[0].toUpperCase()}${this.substring(1)}";
    }
} 

为使扩展正常工作,您在pubspec.yaml中的sdk至少应为2.7.0

environment:
  sdk: ">=2.7.0 <3.0.0"

即使您遇到未定义类扩展的任何问题,也请检查以下链接 颤振extension-methods不起作用,它表示"undefined class"和"requires the extension-methods language feature"