Forum Replies Created
-
AuthorPosts
-
terima kasih bantuannya dan penjelasannya coach
add_or_detail_screen.dart
import ‘package:flutter/material.dart’;
import ‘package:notes/models/note.dart’;
import ‘package:notes/provider/notes.dart’;
import ‘package:provider/provider.dart’;class AddOrDetailScreen extends StatefulWidget {
static String routeName;@override
State<AddOrDetailScreen> createState() => _AddOrDetailScreenState();
}class _AddOrDetailScreenState extends State<AddOrDetailScreen> {
Note _note = Note(
id: null,
title: ”,
note: ”,
updatedAt: null,
createdAt: null,
);
bool init = true;
final _formKey = GlobalKey<FormState>();void submitNote() {
_formKey.currentState.save();
final now = DateTime.now();
_note = _note.copyWith(
updatedAt: now,
createdAt: now,
);
final notesProvider = Provider.of<Notes>(context, listen: false);
notesProvider.addnote(_note);
Navigator.of(context).pop();
// print(‘title : ‘ + _note.title);
// print(_note.note);
}@override
void didChangeDependencies() {
if (init) {
String id = ModalRoute.of(context).settings.arguments as String;
_note = Provider.of<Notes>(context).getNote(id);
init = false;
}super.didChangeDependencies();
}@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
actions: [
TextButton(
onPressed: submitNote,
child: Text(‘Simpan’),
),
],
),
body: Container(
padding: EdgeInsets.all(12),
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 disini’,
border: InputBorder.none,
),
onSaved: (value) {
_note = _note.copyWith(note: value);
},
),
],
),
),
),
);
}
}iya error pas tekan tombol +
home_screen.dart
import ‘package:flutter/material.dart’;
import ‘package:notes/screens/add_or_detail_screen.dart’;
import ‘package:notes/widgets/notes_grid.dart’;class HomeScreen extends StatefulWidget {
static const routeName = ‘/addOrDetailScreen’;
@override
State<HomeScreen> createState() => _HomeScreenState();
}class _HomeScreenState extends State<HomeScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(‘Notes’),
),
body: NotesGrid(),
floatingActionButton: FloatingActionButton(
onPressed: () {
Navigator.of(context).pushNamed(AddOrDetailScreen.routeName);
},
child: Icon(Icons.add),
),
);
}
} -
AuthorPosts