Skip to content

Commit

Permalink
bloc_sampe with interited widget.
Browse files Browse the repository at this point in the history
  • Loading branch information
hyochan committed Oct 29, 2018
1 parent 251169e commit 7d8833b
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 70 deletions.
55 changes: 15 additions & 40 deletions bloc_sample/.idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

54 changes: 24 additions & 30 deletions bloc_sample/lib/screens/sample.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,44 +2,44 @@ import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

import '../blocs/bloc_provider.dart';
import '../blocs/sample_bloc.dart';

class Sample extends StatelessWidget {
final SampleBloc bloc = SampleBloc();

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Sample'),
),
body: Container(
child: Column(
children: <Widget>[
Container(height: 12.0),
Text('SampleChild1'),
SampleChild1(bloc),
Container(height: 12.0),
Text('SampleChild2'),
SampleChild2(bloc),
Container(height: 12.0),
Text('SampleChild3'),
SampleChild3(bloc),
],
return BlocProvider(
child: Scaffold(
appBar: AppBar(
title: Text('Sample'),
),
body: Container(
child: Column(
children: <Widget>[
Container(height: 12.0),
Text('SampleChild1'),
SampleChild1(),
Container(height: 12.0),
Text('SampleChild2'),
SampleChild2(),
Container(height: 12.0),
Text('SampleChild3'),
SampleChild3(),
],
),
),
),
);
}
}

class SampleChild1 extends StatelessWidget {
SampleChild1(this.bloc);
final SampleBloc bloc;

@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: bloc.message,
stream: BlocProvider.of(context).sampleBloc.message,
builder: (context, snapshot) {
return Container(
child: Text(snapshot.data ?? ''),
Expand All @@ -50,13 +50,10 @@ class SampleChild1 extends StatelessWidget {
}

class SampleChild2 extends StatelessWidget {
SampleChild2(this.bloc);
final SampleBloc bloc;

@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: bloc.message,
stream: BlocProvider.of(context).sampleBloc.message,
builder: (context, snapshot) {
return Container(
child: Text(snapshot.data ?? ''),
Expand All @@ -67,18 +64,15 @@ class SampleChild2 extends StatelessWidget {
}

class SampleChild3 extends StatelessWidget {
SampleChild3(this.bloc);
final SampleBloc bloc;

@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: bloc.message,
stream: BlocProvider.of(context).sampleBloc.message,
builder: (context, snapshot) {
return Container(
width: 200.0,
child: TextField(
onChanged: (String str) => bloc.setMessage(str),
onChanged: (String str) => BlocProvider.of(context).sampleBloc.setMessage(str),
),
);
},
Expand Down

0 comments on commit 7d8833b

Please sign in to comment.