import 'package:flutter/material.dart'; class VSearchInput extends StatelessWidget { /// 占位提示 final String? placeholder; /// 搜索回调 final ValueChanged? onSearch; const VSearchInput({ super.key, this.placeholder, this.onSearch, }); @override Widget build(BuildContext context) { final controller = TextEditingController(); const border = OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(8)), borderSide: BorderSide.none, ); return TextField( controller: controller, decoration: InputDecoration( enabledBorder: border, focusedBorder: border, fillColor: Colors.grey.shade400, filled: true, hintText: placeholder, hintStyle: const TextStyle( fontSize: 20, color: Colors.black54, ), // contentPadding: EdgeInsets.symmetric(horizontal: 40, vertical: 24), // isDense: true, isCollapsed: false, prefixIcon: IconButton( icon: const Icon(Icons.search, size: 36), onPressed: () { onSearch?.call(controller.text); }, ), ), ); } }