fix(ui): move tap region to wrap autocomplete optionsViewBuilder
This commit is contained in:
@@ -507,11 +507,13 @@ class _StreamAutocompleteState extends State<StreamAutocomplete> {
|
||||
final anchor = widget.optionsAlignment._toAnchor();
|
||||
final shouldShowOptions = _shouldShowOptions;
|
||||
final optionViewBuilder = shouldShowOptions
|
||||
? _currentTrigger!.optionsViewBuilder(
|
||||
context,
|
||||
_currentQuery!,
|
||||
_messageEditingController,
|
||||
)
|
||||
? TextFieldTapRegion(
|
||||
child: _currentTrigger!.optionsViewBuilder(
|
||||
context,
|
||||
_currentQuery!,
|
||||
_messageEditingController,
|
||||
),
|
||||
)
|
||||
: null;
|
||||
|
||||
return PortalTarget(
|
||||
@@ -610,34 +612,32 @@ class StreamAutocompleteOptions<T extends Object> extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
final height = MediaQuery.of(context).size.height;
|
||||
final colorTheme = StreamChatTheme.of(context).colorTheme;
|
||||
return TextFieldTapRegion(
|
||||
child: Card(
|
||||
margin: margin,
|
||||
elevation: elevation,
|
||||
color: color ?? colorTheme.barsBg,
|
||||
shape: shape,
|
||||
clipBehavior: clipBehavior,
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
if (headerBuilder != null) ...[
|
||||
headerBuilder!(context),
|
||||
const Divider(height: 0),
|
||||
],
|
||||
LimitedBox(
|
||||
maxHeight: maxHeight ?? height * 0.5,
|
||||
child: ListView.builder(
|
||||
shrinkWrap: true,
|
||||
padding: EdgeInsets.zero,
|
||||
itemCount: options.length,
|
||||
itemBuilder: (context, index) {
|
||||
final option = options.elementAt(index);
|
||||
return optionBuilder(context, option);
|
||||
},
|
||||
),
|
||||
),
|
||||
return Card(
|
||||
margin: margin,
|
||||
elevation: elevation,
|
||||
color: color ?? colorTheme.barsBg,
|
||||
shape: shape,
|
||||
clipBehavior: clipBehavior,
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
if (headerBuilder != null) ...[
|
||||
headerBuilder!(context),
|
||||
const Divider(height: 0),
|
||||
],
|
||||
),
|
||||
LimitedBox(
|
||||
maxHeight: maxHeight ?? height * 0.5,
|
||||
child: ListView.builder(
|
||||
shrinkWrap: true,
|
||||
padding: EdgeInsets.zero,
|
||||
itemCount: options.length,
|
||||
itemBuilder: (context, index) {
|
||||
final option = options.elementAt(index);
|
||||
return optionBuilder(context, option);
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user