目录
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() 关闭弹窗
casino online uy tin casino tr?c tuy?n vi?t nam casino tr?c tuy?n vi?t nam
valtrex discount
metformin generic price
game c? b?c online uy tín: dánh bài tr?c tuy?n – casino tr?c tuy?n
https://casinvietnam.com/# casino online uy tin
https://casinvietnam.com/# casino tr?c tuy?n uy tin
casino tr?c tuy?n vi?t nam web c? b?c online uy tin casino tr?c tuy?n vi?t nam
synthroid 200 mcg tabs
В нашем мире, где аттестат является началом отличной карьеры в любом направлении, многие пытаются найти максимально быстрый путь получения образования. Факт наличия официального документа переоценить просто невозможно. Ведь именно он открывает дверь перед любым человеком, желающим вступить в профессиональное сообщество или продолжить обучение в любом университете.
В данном контексте наша компания предлагает оперативно получить любой необходимый документ. Вы можете приобрести аттестат, и это является удачным решением для всех, кто не смог завершить образование или потерял документ. Каждый аттестат изготавливается аккуратно, с особым вниманием к мельчайшим элементам, чтобы на выходе получился 100% оригинальный документ.
Преимущество данного подхода состоит не только в том, что можно быстро получить аттестат. Весь процесс организован комфортно, с нашей поддержкой. От выбора подходящего образца до грамотного заполнения персональной информации и доставки в любой регион России — все под полным контролем качественных специалистов.
Для всех, кто хочет найти быстрый и простой способ получения необходимого документа, наша услуга предлагает отличное решение. Приобрести аттестат – это значит избежать долгого обучения и сразу перейти к своим целям: к поступлению в университет или к началу успешной карьеры.
http://prema-attestats.ru/ – где купить аттестат
Great site, I just did my first order and they provided the 1,000 followers just like they said they would!
Добрый день всем!
купить диплом нового образца
Желаю любому прекрасных отметок!
http://mail.webco.by/forum/viewtopic.php?f=82&t=27594&view=next
купить диплом о среднем образовании
купить диплом бакалавра
купить диплом о высшем образовании
cialis 5mg tablets australia
game c? b?c online uy tín: game c? b?c online uy tín – casino online uy tín
best price tadalafil 20 mg
arusak-attestats.ru – Купить аттестат – путь для твоему будущему. В данном портале вы сможете без труда и оперативно заказать аттестат, необходимый для последующего получения образования или трудоустройства. Наши эксперты гарантируют качество и конфиденциальность услуги. Заказывайте учебный аттестат здесь и проявите дополнительные варианты для своего профессионального роста и карьеры.
http://casinvietnam.com/# casino tr?c tuy?n uy tin
choi casino tr?c tuy?n tren di?n tho?i danh bai tr?c tuy?n casino online uy tin
В современном мире, где аттестат является началом удачной карьеры в любой отрасли, многие ищут максимально быстрый путь получения образования. Наличие документа об образовании переоценить просто невозможно. Ведь диплом открывает двери перед людьми, желающими вступить в профессиональное сообщество или учиться в университете.
В данном контексте мы предлагаем максимально быстро получить любой необходимый документ. Вы сможете приобрести аттестат, что будет выгодным решением для человека, который не смог завершить образование или потерял документ. Любой аттестат изготавливается аккуратно, с особым вниманием к мельчайшим нюансам. В результате вы получите продукт, полностью соответствующий оригиналу.
Преимущества такого подхода состоят не только в том, что можно быстро получить аттестат. Весь процесс организовывается удобно, с профессиональной поддержкой. Начиная от выбора требуемого образца до точного заполнения персональных данных и доставки в любой регион страны — все находится под абсолютным контролем опытных мастеров.
Всем, кто пытается найти быстрый способ получить необходимый документ, наша компания готова предложить выгодное решение. Заказать аттестат – это значит избежать длительного процесса обучения и сразу перейти к своим целям, будь то поступление в университет или старт карьеры.
http://prema-attestats.ru/ – можно ли купить аттестат
https://casinvietnam.shop/# casino tr?c tuy?n uy tin
metformin from mexico to us
dánh bài tr?c tuy?n: casino tr?c tuy?n vi?t nam – casino tr?c tuy?n
http://casinvietnam.com/# casino online uy tin
canadian pharmaceutical prices
В нашем мире, где аттестат является началом отличной карьеры в любом направлении, многие стараются найти максимально быстрый путь получения образования. Важность наличия официального документа об образовании трудно переоценить. Ведь именно он открывает двери перед любым человеком, который желает вступить в сообщество профессиональных специалистов или учиться в любом университете.
Мы предлагаем очень быстро получить этот важный документ. Вы сможете заказать аттестат старого или нового образца, и это будет выгодным решением для всех, кто не смог закончить обучение или потерял документ. Каждый аттестат изготавливается с особой тщательностью, вниманием к мельчайшим нюансам, чтобы в итоге получился 100% оригинальный документ.
Плюсы подобного решения заключаются не только в том, что вы сможете быстро получить свой аттестат. Весь процесс организован удобно, с профессиональной поддержкой. От выбора подходящего образца до точного заполнения персональной информации и доставки по стране — все под полным контролем качественных специалистов.
Всем, кто ищет максимально быстрый способ получить требуемый документ, наша компания готова предложить отличное решение. Заказать аттестат – значит избежать длительного обучения и не теряя времени перейти к своим целям: к поступлению в университет или к началу удачной карьеры.
http://prema-attestats.ru/
tadalafil 20mg buy
casino tr?c tuy?n vi?t nam danh bai tr?c tuy?n choi casino tr?c tuy?n tren di?n tho?i
https://casinvietnam.com/# game c? b?c online uy tin
best price for synthroid
casino tr?c tuy?n vi?t nam: web c? b?c online uy tín – web c? b?c online uy tín
buy generic cialis online safely
buy valtrex uk
casino online uy tin web c? b?c online uy tin web c? b?c online uy tin
cheap zithromax pills
casino tr?c tuy?n uy tín: casino tr?c tuy?n vi?t nam – casino tr?c tuy?n
http://casinvietnam.shop/# casino tr?c tuy?n uy tin
top 10 online pharmacy in india
valtrex discount price
zithromax online buy
https://arusak-attestats.ru/ – Можно ли купить аттестат – возможность для твоему перспективам. В нашем сервисе все вы можете без труда и оперативно купить аттестат, необходимый для последующего обучения или профессионального роста. Наша эксперты гарантируют высокое качество и конфиденциальность услуги. Приобретайте школьный сертификат у нас и проявите дополнительные варианты для своего карьерного развития и трудоустройства.
Купить аттестат за 11 класс – ключ к вашему перспективам. В нашем портале все вы сможете просто и оперативно приобрести аттестат, нужный для того, чтобы последующего обучения или трудоустройства. Наши специалисты обеспечивают качество и секретность предоставления услуг. Приобретайте школьный сертификат у нас и проявите дополнительные варианты для того, чтобы своего профессионального роста и карьеры.
order valtrex
game c? b?c online uy tin game c? b?c online uy tin choi casino tr?c tuy?n tren di?n tho?i
price of valtrex
https://arusak-attestats.ru – Купить аттестат цена – возможность для твоему перспективам. На нашем сервисе вы можете легко и оперативно заказать аттестат, нужный для последующего обучения или трудоустройства. Наши специалисты гарантируют высокое качество и конфиденциальность предоставления услуг. Заказывайте образовательный аттестат у нас и проявите дополнительные варианты для того, чтобы вашего карьерного развития и трудоустройства.
casino online uy tín: casino tr?c tuy?n vi?t nam – game c? b?c online uy tín
synthroid from india
tadalafil 20 mg for sale online
https://casinvietnam.com/# casino tr?c tuy?n uy tin
pharmacy online 365 discount code
casino tr?c tuy?n vi?t nam casino online uy tin danh bai tr?c tuy?n