Upgrade Skill Di ITBOX Jadi Lebih Hemat
Special Diskon 50%
Sampai 16 November 2026!
Hari
Jam
Menit
Detik
GARUDABOX

title dan note tidak tampil ( global state )

Beranda › Forums › Belajar Flutter Mobile Apps Tingkat Menengah › title dan note tidak tampil ( global state )

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #51731
    Aris Sugiyono
    Participant

      hallo coach. maaf nih saya ada error title dan note tidak bisa tampil saat menekan tombil “simpan” hanya kosong saja

      import ‘package:flutter/material.dart’;
      import ‘package:praktik_state_management/models/note.dart’;

      class addNoteScreen extends StatefulWidget {
      // const addNoteScreen({Key key}) : super(key: key);
      final Function(Note note) addNoteFn;

      addNoteScreen(this.addNoteFn);

      @override
      State<addNoteScreen> createState() => _addNoteScreenState();
      }

      class _addNoteScreenState extends State<addNoteScreen> {
      Note _note =
      Note(id: null, title: ”, note: ”, updateAt: null, createAt: null);

      final _formKey = GlobalKey<FormState>();

      void submitNote() {
      _formKey.currentState.save();
      final now = DateTime.now();
      _note = _note.copyWith(updateAt: now, createAt: now);
      widget.addNoteFn(_note);
      Navigator.pop(context);
      print(_note.note);
      print(_note.title);
      }

      @override
      Widget build(BuildContext context) {
      return Scaffold(
      appBar: AppBar(
      actions: [TextButton(onPressed: submitNote, child: Text(‘Simpan’))]),
      body: Container(
      padding: EdgeInsets.all(10),
      child: Form(
      key: _formKey,
      child: Column(
      children: [
      TextFormField(
      decoration: InputDecoration(
      hintText: ‘Judul’, border: InputBorder.none),
      onSaved: (value) {
      _note:
      _note.copyWith(title: value);
      },
      ),
      TextFormField(
      decoration: InputDecoration(
      hintText: ‘tulis catatan di sini!’,
      border: InputBorder.none),
      onSaved: (value) {
      _note:
      _note.copyWith(note: value);
      },
      )
      ],
      )),
      ),
      );
      }
      }

      #51765
      Anonymous

        Halo,
        boleh coba kirimin code kamu di file home_screen.dart dan notes_grid.dart?

        #51792
        Aris Sugiyono
        Participant

          import ‘package:flutter/material.dart’;
          import ‘package:flutter/cupertino.dart’;
          import ‘package:praktik_state_management/models/note.dart’;
          import ‘package:praktik_state_management/screens/add_note_screen.dart’;
          import ‘package:praktik_state_management/widgets/note_grid.dart’;

          class HomeScreen extends StatefulWidget {
          //HomeScreen({Key? key}) : super(key: key);

          @override
          State<HomeScreen> createState() => _HomeScreenState();
          }

          class _HomeScreenState extends State<HomeScreen> {
          List<Note> _listNote = [
          Note(
          id: ‘N1’,
          title: ‘Catatan Materi Flutter’,
          note:
          ‘Flutter merupakan Software Development Kit (SDK) yang bisa membantu developer dalam membuat aplikasi mobile cross platform. Kelas ini akan mempelajari pengembangan aplikasi mobile yang dapat dijalankan baik di IOS maupun di Android’,
          updatedAt: DateTime.parse(‘2021-05-19 20:33:33’),
          createdAt: DateTime.parse(‘2021-05-19 20:33:33’),
          ),
          Note(
          id: ‘N2’,
          title: ‘Target Pembelajaran Flutter’,
          note:
          ‘Peserta dapat mengembangkan aplikasi mobile (IOS dan Android) menggunakan flutter,\nPeserta memahami konsep pengembangan aplikasi menggunakan flutter,\nPeserta dapat menjalankan aplikasi mobile di IOS dan Android ataupun Emulator,\nPeserta memahami bahasa pemrograman Dart,\nPeserta dapat mendevelop aplikasi mobile menggunakan flutter dan dart dari dasar secara berurutan.’,
          updatedAt: DateTime.parse(‘2021-05-20 20:53:33’),
          createdAt: DateTime.parse(‘2021-05-20 20:53:33’),
          ),
          Note(
          id: ‘N3’,
          title: ‘Belajar Flutter di ITBOX’,
          note: ‘Jangan lupa belajar flutter dengan video interactive di ITBOX.’,
          updatedAt: DateTime.parse(‘2021-05-20 21:22:33’),
          createdAt: DateTime.parse(‘2021-05-20 21:22:33’),
          ),
          Note(
          id: ‘N4’,
          title: ‘Resep nasi goreng’,
          note:
          ‘Nasi putih 1 piring\nBawang putih 2 siung, cincang halus\nKecap manis atau kecap asin sesuai selera\nSaus sambal sesuai selera\nSaus tiram sesuai selera\nGaram secukupnya\nKaldu bubuk rasa ayam atau sapi sesuai selera\nDaun bawang 1 batang, cincang halus\nTelur ayam 1 butir\nSosis ayam 1 buah, iris tipis\nMargarin atau minyak goreng 3 sdm.’,
          updatedAt: DateTime.parse(‘2021-05-20 21:51:33’),
          createdAt: DateTime.parse(‘2021-05-20 21:51:33’),
          ),
          ];

          void toggleIsPinned(String id) {
          int index = _listNote.indexWhere((note) => note.id == id);
          if (index >= 0) {
          setState(() {
          _listNote[index].isPinned = !_listNote[index].isPinned;
          });
          }
          ;
          }

          void addNote(Note note) {
          setState(() {
          _listNote.add(note);
          });
          }

          @override
          Widget build(BuildContext context) {
          return Scaffold(
          appBar: AppBar(
          title: Text(‘NOTES’),
          ),
          body: NoteGrid(_listNote, toggleIsPinned),
          floatingActionButton: FloatingActionButton(
          onPressed: () {
          Navigator.of(context).push(
          MaterialPageRoute(builder: (builder) => addNoteScreen(addNote)),
          );
          },
          child: Icon(Icons.add),
          ));
          // Column(
          // children: [
          // …_listNote.map((note) => Container(
          // child: Text(note.note),
          // padding: EdgeInsets.all(10),
          // )) // ], // ),
          }
          }

          #51793
          Aris Sugiyono
          Participant

            import ‘package:flutter/material.dart’;
            import ‘package:flutter/cupertino.dart’;
            import ‘package:praktik_state_management/models/note.dart’;
            import ‘package:praktik_state_management/widgets/note_item.dart’;

            class NoteGrid extends StatefulWidget {
            //Note({Key? key}) : super(key: key);

            final List<Note> listNote;
            final Function(String id) toogleisPinnedFn;

            NoteGrid(this.listNote, this.toogleisPinnedFn);
            @override
            State<NoteGrid> createState() => _NoteState();
            }

            class _NoteState extends State<NoteGrid> {
            @override
            Widget build(BuildContext context) {
            List<Note> TempListNote =
            widget.listNote.where((note) => note.isPinned).toList();
            TempListNote.addAll(
            widget.listNote.where((note) => !note.isPinned).toList());
            return Padding(
            padding: EdgeInsets.all(10),
            child: GridView.builder(
            // listview menampilan dan merender data yg ada di layar
            itemCount: TempListNote.length,
            itemBuilder: (context, index) => NoteItem(
            id: TempListNote[index].id,
            title: TempListNote[index].title,
            note: TempListNote[index].note,
            isPinned: TempListNote[index].isPinned,
            toggleIsPinnedFn: widget.toogleisPinnedFn),
            gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 2,
            crossAxisSpacing: 8,
            mainAxisSpacing: 8,
            ),
            ),
            );
            }
            }

            #51813
            Anonymous

              Halo, mau confirm ini error yang kamu alami itu, pas tambahin note, notenya bertambah, hanya saja title dan notenya kosong ya?
              trus ini aku ketemu keanehan dicodenya
              ini widget TextFormField yang di file add_note_screen.dart itu bagian onsaved nya

              onSaved: (value) {
              _note: //ini di vs codenya memang pakai <strong>:</strong> ? soalnya seharusnya pakai <strong>=</strong>
              _note.copyWith(title: value);
              },

              seharusnya seperti ini

              onSaved: (value) {
              _note = _note.copyWith(title: value);
              },
              #51863
              Aris Sugiyono
              Participant

                siap sudah bisa coach, terima kasih.

                #51864
                Aris Sugiyono
                Participant

                  beda = sama : aja bisa beda hasil ya coach hehehe

                  #77564
                  Anonymous

                    Iya betul, untuk set value ke sebuah variable selalu menggunakan = tidak bisa pakai :. 😀

                  Viewing 8 posts - 1 through 8 (of 8 total)
                  • You must be logged in to reply to this topic.
                  Shopping cart0
                  There are no products in the cart!
                  Continue shopping