fix: 使用heroTag解决同一页面controller不刷新的问题
This commit is contained in:
@ -47,10 +47,9 @@ class VideoIntroController extends GetxController {
|
|||||||
var result = await VideoHttp.videoIntro(aid: aid);
|
var result = await VideoHttp.videoIntro(aid: aid);
|
||||||
if (result['status']) {
|
if (result['status']) {
|
||||||
videoDetail.value = result['data']!;
|
videoDetail.value = result['data']!;
|
||||||
Get.find<VideoDetailController>().tabs.value = [
|
Get.find<VideoDetailController>(tag: Get.arguments['heroTag'])
|
||||||
'简介',
|
.tabs
|
||||||
'评论 ${result['data']!.stat!.reply}'
|
.value = ['简介', '评论 ${result['data']!.stat!.reply}'];
|
||||||
];
|
|
||||||
} else {
|
} else {
|
||||||
responseMsg = result['msg'];
|
responseMsg = result['msg'];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,7 +20,7 @@ class VideoIntroPanel extends StatefulWidget {
|
|||||||
class _VideoIntroPanelState extends State<VideoIntroPanel>
|
class _VideoIntroPanelState extends State<VideoIntroPanel>
|
||||||
with AutomaticKeepAliveClientMixin {
|
with AutomaticKeepAliveClientMixin {
|
||||||
final VideoIntroController videoIntroController =
|
final VideoIntroController videoIntroController =
|
||||||
Get.put(VideoIntroController());
|
Get.put(VideoIntroController(), tag: Get.arguments['heroTag']);
|
||||||
VideoDetailData? videoDetail;
|
VideoDetailData? videoDetail;
|
||||||
|
|
||||||
// 添加页面缓存
|
// 添加页面缓存
|
||||||
|
|||||||
@ -11,7 +11,8 @@ class RelatedVideoPanel extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _RelatedVideoPanelState extends State<RelatedVideoPanel> {
|
class _RelatedVideoPanelState extends State<RelatedVideoPanel> {
|
||||||
final ReleatedController _releatedController = Get.put(ReleatedController());
|
final ReleatedController _releatedController =
|
||||||
|
Get.put(ReleatedController(), tag: Get.arguments['heroTag']);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|||||||
@ -15,7 +15,7 @@ class VideoDetailPage extends StatefulWidget {
|
|||||||
|
|
||||||
class _VideoDetailPageState extends State<VideoDetailPage> {
|
class _VideoDetailPageState extends State<VideoDetailPage> {
|
||||||
final VideoDetailController videoDetailController =
|
final VideoDetailController videoDetailController =
|
||||||
Get.put(VideoDetailController());
|
Get.put(VideoDetailController(), tag: Get.arguments['heroTag']);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|||||||
Reference in New Issue
Block a user