一个简单的带有字符串值的类,在单击按钮时会更新其状态,在所有情况下都可以使用,但是只要子级位于bidirectional_scroll_view中,它都会拒绝更新新值。
import 'package:bidirectional_scroll_view/bidirectional_scroll_view.dart';
import 'package:flutter/material.dart';
class EmptyPage extends StatefulWidget{
String title = 'Sample';
@override
_EmptyPageState createState() => _EmptyPageState();
}
class _EmptyPageState extends State<EmptyPage> {
String text;
@override
void initState() {
super.initState();
text = 'before';
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Container(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
IconButton(
icon: Icon(Icons.change_history),
onPressed: (){
setState(() {
this.text = 'after';
});
},
),
Expanded(
child: BidirectionalScrollViewPlugin(
child: Text(text)),
),
],
),
)
);
}
}
[另外:除非再次打开页面,否则不会使用热重载更新对此插件中的代码所做的更改。
请尝试这个...
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Container(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
IconButton(
icon: Icon(Icons.change_history),
onPressed: () {
setState(() {
text = 'after';
});
},
),
Expanded(
child: BidirectionalScrollViewPlugin(child: Text(text)),
// child: Text(text),
),
],
),
));
}