Get.snackbar
- Getx提供的悬浮通知组件
- 默认效果还挺不错的:
问题
- Getx官方介绍和百度上的很多文章就有提到Get.back()可以关闭这个悬浮通知
- 然而,我们普遍用Get.back()的目的是关闭当且页面,返回上一级
- 因此,当项目使用上这个悬浮通知以后,如果此时有悬浮通知显示,然后页面需要返回调用了Get.back(),则会进行不符合原本预期的效果:
- 悬浮通知被Get.back()关闭
- 当前想关闭的页面没有被关闭
- 解决方法:
- 使用以下语句代替Get.back() :
- 其中,navigator是Getx提供的一个对象,用于代替flutter原生的Navigator
navigator!.pop();
- -
- Getx对navigator部分介绍:
- 这也意味着我们如果不使用Get.back()而使用flutter自带的路由管理Navigator则可以正常关闭页面而不会关闭悬浮通知
- 有时我们还需要使用Get.back<T>(result: res)来返回数据
- 我们同样可以替换使用:
navigator!.pop<T>(result);
- 因此就可以搞一个自己的back()来代替Get.back()使用了:
class MyRoute_c {
static void back<T>({T? result}) {
navigator!.pop<T>(result);
}
}
Getx其他悬浮组件调整
正如上面所描述的问题一样,在Getx的其他悬浮组件中同样有类似的问题。
下面我们以 Get.defaultDialog() 示例问题并解决
- 如果我们执行以下代码:
Get.defaultDialog(
title: "弹窗标题",
textConfirm: "确认", // 确认按钮的文本
textCancel: "取消", // 取消按钮的文本
onConfirm:() {
print("确认按钮被按下");
Get.back();
}
);
- 运行效果:
- 当你点击确定时,执行 onConfirm 的函数,打印信息并执行Get.back(),可以把弹窗也看作是一个页面,弹窗将被这一句Get.back()关闭
- 然而,如果此时有悬浮通知Get.snackbar()正在显示:
- 那就会出问题了,按下确定后,Get.back()会关闭悬浮通知,弹窗则会继续存在
- 当然你确实可以多按几次确定,直到悬浮通知都被关闭,这时Get.back()才会正确地关闭弹窗
- 然而这也将导致 onConfirm 的代码被执行多次,如果你在里面写了网络请求之类的操作,就可能会出现多次重复的网络请求等等的问题了
- 因此,我们想关闭弹窗时,也应该使用上面我们自己实现的back(),即最终使用它来返回:
- navigator!.pop();
- 可能你已经发现,确定按钮对应了 onConfirm 的函数,但取消按钮对应的 onCancel 我们并没有传参给它,也就是说,它会执行它默认的操作:
- 查看Getx的源码,就可以发现,它执行我们传入的 onCancel ,然后执行一个Get.back()
- 然而我们并没有传 onCancel ,因此它会直接执行一个Get.back()
- 那么假如此时有悬浮通知,显然默认的取消执行的Get.back()只会关闭悬浮通知,而不会关闭弹窗
- 但如果我们直接给一个onCancel的传参 onCancel: () => navigator!.pop() 的话,它即执行了navigator!.pop(), 又会执行后面的Get.back(),如果此时没有悬浮通知,页面将返回两次
- 因此我们需要判断一下,按下取消按钮时是否又显示悬浮通知,有则执行navigator!.pop(),没有则不需要我们干事,等它执行后面Get.back()即可以关闭弹窗
onConfirm: (null != onConfirm)
? onConfirm
: () {
MyRoute_c.back();
},
onCancel: (null != onCancel)
? onCancel
: () {
if (Get.isSnackbarOpen) {
MyRoute_c.back();
}
}
- 由于源码中,onConfirm 后面并没有像 onCancel 一样带着一个Get.back(),因此需要我们自己调用我们的back() 关闭弹窗
synthroid over the counter online
http://casinvietnam.com/# game c? b?c online uy tin
metformin 1500 mg
synthroid europe
casino tr?c tuy?n: web c? b?c online uy tín – casino tr?c tuy?n vi?t nam
tadalafil prices 5mg
prednisone where can i buy
casino tr?c tuy?n vi?t nam: dánh bài tr?c tuy?n – casino tr?c tuy?n vi?t nam
https://casinvietnam.com/# casino tr?c tuy?n vi?t nam
Thank you for great information. Hello Administ . 国产线播放免费人成视频播放
synthroid 50 mcg generic
synthroid 137 cost
casino tr?c tuy?n uy tín: casino online uy tín – web c? b?c online uy tín
リアル ドール ラブドール 2019年の日本のダッチワイフトップ5大人のダッチワイフをきれいにする方法は?ダッチワイフはあなたの人生を向上させることができますか?コロナウイルス19を未然に防ぐ方法は?
best india pharmacy
http://casinvietnam.shop/# danh bai tr?c tuy?n
otc lisinopril
usa pharmacy online
В нашем мире, где аттестат становится началом отличной карьеры в любом направлении, многие ищут максимально простой путь получения образования. Важность наличия официального документа переоценить попросту невозможно. Ведь именно он открывает дверь перед всеми, кто желает начать профессиональную деятельность или учиться в любом институте.
Предлагаем оперативно получить этот необходимый документ. Вы имеете возможность приобрести аттестат нового или старого образца, что будет отличным решением для человека, который не смог завершить образование, потерял документ или желает исправить свои оценки. Все аттестаты изготавливаются аккуратно, с максимальным вниманием к мельчайшим деталям. В результате вы получите 100% оригинальный документ.
Плюсы данного решения состоят не только в том, что можно максимально быстро получить аттестат. Весь процесс организован просто и легко, с нашей поддержкой. От выбора подходящего образца до грамотного заполнения персональной информации и доставки по России — все будет находиться под абсолютным контролем опытных мастеров.
Для тех, кто ищет быстрый и простой способ получения требуемого документа, наша компания предлагает отличное решение. Приобрести аттестат – это значит избежать длительного обучения и сразу переходить к важным целям, будь то поступление в ВУЗ или начало карьеры.
http://prema-attestats.ru/
casino tr?c tuy?n uy tín: dánh bài tr?c tuy?n – casino tr?c tuy?n vi?t nam
cost of synthroid 125 mcg
happy family store viagra
tadalafil online usa
http://casinvietnam.com/# casino tr?c tuy?n
canadian pharmacy viagra 50 mg
tadalafil for sale without prescription
tadalafil 10
dánh bài tr?c tuy?n: casino tr?c tuy?n vi?t nam – game c? b?c online uy tín
Доброго всем дня!
купить аттестат
Желаю любому прекрасных отметок!
https://trueandfalse.info/SMF/index.php?topic=13857.0
купить диплом о среднем образовании
купить диплом бакалавра
купить диплом нового образца
100 mg prednisone daily
Таблица рейтинга букмекеров
самая лучшая букмекерская контора в интернете лучшая букмекерская онлайн .
На сегодняшний день, когда аттестат – это начало удачной карьеры в любом направлении, многие ищут максимально простой путь получения качественного образования. Наличие официального документа сложно переоценить. Ведь диплом открывает дверь перед любым человеком, желающим вступить в сообщество квалифицированных специалистов или продолжить обучение в университете.
Мы предлагаем очень быстро получить этот важный документ. Вы имеете возможность заказать аттестат, и это является отличным решением для всех, кто не смог завершить образование, утратил документ или желает исправить свои оценки. Аттестаты производятся с особой аккуратностью, вниманием ко всем деталям. На выходе вы сможете получить документ, полностью соответствующий оригиналу.
Превосходство этого подхода заключается не только в том, что можно максимально быстро получить свой аттестат. Процесс организовывается удобно, с нашей поддержкой. От выбора необходимого образца до консультаций по заполнению личной информации и доставки по стране — все находится под абсолютным контролем наших специалистов.
Всем, кто ищет максимально быстрый способ получения необходимого документа, наша компания готова предложить выгодное решение. Купить аттестат – это значит избежать долгого процесса обучения и не теряя времени переходить к достижению собственных целей, будь то поступление в ВУЗ или старт профессиональной карьеры.
http://prema-attestats.ru/
http://casinvietnam.shop/# casino tr?c tuy?n uy tin
Рюкзак тактичний
купити тактичні рюкзаки https://ryukzakivijskovibpjgl.kiev.ua/ .
Обзор рейтинга букмекеров
лучшие букмекерские конторы в беларуси ставки на спорт .
web c? b?c online uy tín: choi casino tr?c tuy?n trên di?n tho?i – casino online uy tín
generic zithromax 250mg
Приветики!
Бывало ли у вас такое, что приходилось писать дипломную работу в очень ограниченные сроки? Это действительно требует большой ответственности и тяжелого труда, но важно не сдаваться и продолжать активно заниматься учебными процессами, так же, как и я.
Для тех, кто умеет эффективно использовать интернет для поиска и анализа информации, это действительно облегчает процесс согласования и написания дипломной работы. Не нужно тратить время на посещение библиотек или организацию встреч с дипломным руководителем. Здесь представлены надежные данные для заказа и написания дипломных и курсовых работ с гарантией качества и доставкой по всей России. Можете ознакомиться с предложениями по ссылке , это проверенный способ!
http://www.musichunt.pro/blogs/view.htm?id=78481
купить диплом нового образца
купить диплом
купить диплом в Москве
купить диплом Гознак
купить диплом Вуза
Желаю любому нужных оценок!
Thank you for content. Area rugs and online home decor store. Hello Administ . 国产线播放免费人成视频播放
В нашем обществе, где аттестат является началом отличной карьеры в любой отрасли, многие стараются найти максимально быстрый путь получения качественного образования. Необходимость наличия официального документа об образовании трудно переоценить. Ведь именно диплом открывает дверь перед каждым человеком, желающим вступить в сообщество профессиональных специалистов или продолжить обучение в высшем учебном заведении.
Наша компания предлагает очень быстро получить этот важный документ. Вы имеете возможность приобрести аттестат старого или нового образца, и это становится выгодным решением для человека, который не смог закончить обучение, потерял документ или желает исправить свои оценки. Аттестаты выпускаются аккуратно, с особым вниманием к мельчайшим деталям. В итоге вы сможете получить документ, полностью соответствующий оригиналу.
Преимущество такого подхода состоит не только в том, что вы сможете максимально быстро получить аттестат. Процесс организовывается комфортно, с нашей поддержкой. Начав от выбора нужного образца до точного заполнения личных данных и доставки в любой регион страны — все находится под полным контролем опытных мастеров.
Всем, кто пытается найти оперативный способ получить необходимый документ, наша услуга предлагает выгодное решение. Заказать аттестат – это значит избежать долгого процесса обучения и не теряя времени переходить к достижению своих целей: к поступлению в университет или к началу трудовой карьеры.
http://prema-attestats.ru/
metformin capsule
ラブドール 激安 オハイオからのご挨拶!私は仕事で退屈しているので、昼休みにiPhoneであなたのウェブサイトを閲覧することにしました。
tadalafil over the counter uk
cheapest online pharmacy india
100 mg tadalafil