커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
search isn't defined
[왕초보] 플러터(Flutter)로 시작하는 앱개발 종합반 v0
4주차
북마크
이*혁
댓글
10
추천
0
조회수
9
조회수
9
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


search 가 정의 되어 있지 않는 오류가 발생합니다.



스파르타 즉문즉답





main.dart

import 'package:flutter/material.dart';

import 'package:provider/provider.dart';


import 'book_service.dart';


void main() {

runApp(

MultiProvider(

providers: [

ChangeNotifierProvider(create: (context) => BookService()),

],

child: const MyApp(),

),

);

}


class MyApp extends StatelessWidget {

const MyApp({Key? key}) : super(key: key);


@override

Widget build(BuildContext context) {

return MaterialApp(

debugShowCheckedModeBanner: false,

home: HomePage(),

);

}

}


class HomePage extends StatefulWidget {

HomePage({Key? key}) : super(key: key);


@override

State<HomePage> createState() => _HomePageState();

}


class _HomePageState extends State<HomePage> {

var bottomNavIndex = 0;

@override

Widget build(BuildContext context) {

return Scaffold(

body: [

SearchPage(),

LikedBookPage(),

].elementAt(bottomNavIndex),

bottomNavigationBar: BottomNavigationBar(

selectedItemColor: Colors.black,

unselectedItemColor: Colors.grey,

showUnselectedLabels: true,

selectedFontSize: 12,

unselectedFontSize: 12,

iconSize: 28,

type: BottomNavigationBarType.fixed,

onTap: (value) {

setState(() {

bottomNavIndex = value;

});

},

items: [

BottomNavigationBarItem(

icon: Icon(Icons.search),

label: '검색',

),

BottomNavigationBarItem(

icon: Icon(Icons.star),

label: '좋아요',

),

],

currentIndex: bottomNavIndex,

),

);

}

}


class SearchPage extends StatelessWidget {

SearchPage({super.key});


@override

Widget build(BuildContext context) {

return Consumer<BookService>(builder: (context, bookService, child) {

return Scaffold(

appBar: AppBar(

backgroundColor: Colors.white,

toolbarHeight: 80,

title: TextField(

onSubmitted: (value) {

bookService.search(value);

},

cursorColor: Colors.grey,

decoration: InputDecoration(

prefixIcon: Icon(Icons.search, color: Colors.grey),

hintText: "작품, 감독, 배우, 컬렉션, 유저 등",

border: OutlineInputBorder(

borderSide: BorderSide(color: Colors.white),

borderRadius: BorderRadius.all(Radius.circular(10)),

),

focusedBorder: OutlineInputBorder(

borderSide: BorderSide(color: Colors.grey),

borderRadius: BorderRadius.all(Radius.circular(10)),

),

),

),

),

body: Center(

child: Text("검색"),

),

);

});

}

}


class LikedBookPage extends StatelessWidget {

const LikedBookPage({super.key});


@override

Widget build(BuildContext context) {

return Scaffold(

body: Center(

child: Text("좋아요"),

),

);

}

}




취소
 공유
취소
댓글 0
댓글 알림
나의얼굴