import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import '../widgets/buttons/custom_elevated_button.dart'; class CustomSearchBar extends StatefulWidget { final Function(String)? onChanged; final VoidCallback onTap; const CustomSearchBar({super.key, this.onChanged,required this.onTap}); @override State createState() => _SearchBarState(); } class _SearchBarState extends State { late TextEditingController _controller; /// 输入框焦点 FocusNode focusNode = FocusNode(); String _text = ''; @override void initState() { super.initState(); _controller = TextEditingController(text: _text); } @override Widget build(BuildContext context) { return Container( constraints: BoxConstraints(maxWidth: double.infinity, minHeight: 10), decoration: BoxDecoration(color: Colors.grey[400],), child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ TextButton(onPressed: () {}, child: Text('物料号')), Expanded( child: TextField( focusNode: focusNode, onTapOutside: (e) => {focusNode.unfocus()}, controller: _controller, onChanged: widget.onChanged, decoration: InputDecoration( hintText: '扫码 / 输入', border: InputBorder.none, suffixIcon: IconButton( icon: Icon(Icons.cancel), onPressed: () { setState(() { _text = ''; _controller.clear(); }); }, ), ), )), SizedBox(width: 10), CEBtn(title: '提取', type: Type.second, onPressed: widget.onTap), SizedBox(width: 10) ], ), ); } }