import 'package:flutter/material.dart'; class LoginInput extends StatelessWidget { final bool obscureText; final String hintText; final TextEditingController controller; final Widget? suffix; const LoginInput({ super.key, this.obscureText = false, required this.hintText, required this.controller, this.suffix, }); @override Widget build(BuildContext context) { return TextField( controller: controller, obscureText: obscureText, maxLength: 100, decoration: InputDecoration( hintText: hintText, hintStyle: Theme.of(context).textTheme.labelLarge?.copyWith(fontSize: 16), counterText: '', filled: true, fillColor: Theme.of(context).colorScheme.surfaceContainer, border: OutlineInputBorder( borderRadius: BorderRadius.circular(60), borderSide: BorderSide.none, // 去掉边框 ), isCollapsed: true, contentPadding: EdgeInsets.symmetric(vertical: 14, horizontal: 20), suffixIcon: Container( padding: EdgeInsets.only(right: 20), child: suffix, ), suffixIconConstraints: BoxConstraints( minWidth: 0, minHeight: 0, ), ), ); } }