Вот код для моей панели поиска, всякий раз, когда я ввожу какое-то значение в строку поиска, я хочу, чтобы отображались элементы, доступные в списке, которые соответствуют введенному значению.
class HeaderWithSearchBox extends StatelessWidget {
const HeaderWithSearchBox({
Key key,
@required this.size,
}) : super(key: key);
final Size size;
@override
Widget build(BuildContext context) {
return Container(
margin: EdgeInsets.only(bottom: kDefaultPadding * 1.5),
// It will cover 20% of our total height
// height: size.height * 0.2,
child: Stack(
children: <Widget>[
Container(
padding: EdgeInsets.only(
left: kDefaultPadding,
right: kDefaultPadding,
bottom: 36 + kDefaultPadding,
),
//height: size.height * 0.2 - 27,
decoration: BoxDecoration(
//color: kPrimaryColor,
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(36),
bottomRight: Radius.circular(36),
),
),
),
Positioned(
bottom: 0,
left: 0,
right: 0,
top: 20,
child: Container(
alignment: Alignment.center,
margin: EdgeInsets.symmetric(horizontal: kDefaultPadding),
padding: EdgeInsets.symmetric(horizontal: kDefaultPadding),
height: 54,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(20),
boxShadow: [
BoxShadow(
offset: Offset(0, 10),
blurRadius: 50,
color: kPrimaryColor.withOpacity(0.23),
),
],
),
child: Row(
children: <Widget>[
Expanded(
child: Center(
child: TextField(
onChanged: (value) {
},
decoration: InputDecoration(
hintText: "Search",
hintStyle: TextStyle(
color: kPrimaryColor.withOpacity(0.5),
),
enabledBorder: InputBorder.none,
focusedBorder: InputBorder.none,
),
),
),
),
Icon(Icons.search),
],
),
),
),
],
),
);
}
}
всякий раз, когда я ввожу значение в строке поиска, я хочу, чтобы отображались элементы, доступные в списке, которые соответствуют введенному значению. при нажатии на элемент я хочу открыть новую страницу, как я могу это сделать? Любая помощь будет оценена по достоинству.