我正在嘗試在 Flutter 中做一個非常基本的登錄應用程式。我正在嘗試使用 OnChange 從 TextField 小部件獲取電子郵件和密碼,但它在 OnChange 的函式內部給了我這個錯誤“無效的常量值”。我能做些什么?。這是代碼:
import 'package:flutter/material.dart';
String email = '';
String password = '';
class Login extends StatelessWidget {
const Login({super.key});
@override
Widget build(BuildContext context) {
return Container(
margin: const EdgeInsets.all(20.0),
padding: const EdgeInsets.all(10.0),
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: const <Widget>[
Padding(
padding: EdgeInsets.all(30.0),
child: Text(
'Welcome to the log in'
),
),
Padding(
padding: EdgeInsets.all(10.0),
child: TextField(
obscureText: true,
decoration: InputDecoration(
border: OutlineInputBorder(),
labelText: 'email',
),
onChanged: (text) {
email = text; //Error here
},
),
),
Padding(
padding: EdgeInsets.all(10.0),
child: TextField(
obscureText: true,
decoration: InputDecoration(
border: OutlineInputBorder(),
labelText: 'password',
),
),
)
],
),
),
);
}
}
我試圖從 Column 中消除 const 標簽,但給了我警告“Prefer const with constant constructors”。
uj5u.com熱心網友回復:
這const需要洗掉:
children: const <Widget>[
然后你可以const在其他地方添加。我猜 IDE 可以幫助你。它可以在這里使用,例如padding: EdgeInsets.all(10.0),,結果將是:
padding: const EdgeInsets.all(10.0),
等等...
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/537194.html
標籤:扑镖
上一篇:收到空運算子的警告訊息
