![](/img/trans.png)
[英]Flutter: how to use if conditional inside InputDecoration's errorText property?
[英]How to change errorText background color in Flutter InputDecoration
我正在嘗試使用驗證器驗證我的 TextFormField。 它有效,但我無法更改此錯誤文本的背景顏色。 我已經在嘗試 errorStyle,但這個選項只能設置文本的樣式。
@override
Widget build(BuildContext context) {
return Material(
elevation: 3,
borderRadius: BorderRadius.circular(25),
child: TextFormField(
autocorrect: false,
obscureText: this.isPassword != null ? this.isPassword : false,
controller: controller,
autofillHints: (this.autofillHint != null) ? [ this.autofillHint ] : [],
style: TextStyle(color: AppColors.getBlackColor(context)),
keyboardType: keyboardType,
validator: (value) => value.isEmpty ? 'Field is required' : null,
autovalidateMode: AutovalidateMode.always,
decoration: InputDecoration(
filled: true,
fillColor: (AppColors.isDarkMode(context)) ? AppColors.darkModeWitheAccent : Colors.white,
hintText: hintText,
hintStyle: TextStyle(color: Colors.grey),
border: OutlineInputBorder(
borderSide: BorderSide.none,
borderRadius: BorderRadius.circular(50),
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide.none,
borderRadius: BorderRadius.circular(25.0),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: AppColors.blue, width: 2.0),
borderRadius: BorderRadius.circular(25.0),
),
),
),
);
}
更改父容器的顏色,在本例中為Material
小部件
Material(
elevation: 3,
borderRadius: BorderRadius.circular(25),
color: Colors.black,
child: TextFormField(
autocorrect: false,
validator: (value) =>
(value?.isEmpty ?? false) ? 'Field is required' : null,
autovalidateMode: AutovalidateMode.always,
decoration: InputDecoration(
filled: true,
fillColor: Colors.amber,
),
),
);
樣品: https://www.dartpad.dev/777892f64e0aa5d36e0995ed5ca00f68?null_safety=true
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.