协程都差不多的,py的eventlet比较好读
正儿八经写flutter还是要会基本的app原生开发的,很多sdk支付什么的都没有flutter版
支付之类的sdk都接不上 挣个蛋的钱
13号 发表于 2021-7-10 21:51
Flutter的Nativagor.push函数也是返回一个future的。
如果你每次pop之后都需要刷新,那么在push的那个页 ...
我尝试过寻找刷新的函数,但是找不到,这个dereload()放在函数里好像也报错了 本帖最后由 13号 于 2021-7-12 10:33 编辑
EKVIN 发表于 2021-7-12 10:10
我尝试过寻找刷新的函数,但是找不到,这个dereload()放在函数里好像也报错了 ...
我瞎写的。。。 doReload()意思是你得自己在这里做点事刷新。。。
具体doReload()该咋写要按照你的页面逻辑自己弄。。。
比如如果这是个网络请求的,你可以重新发起网络请求,在请求结束后设置数据(调用setState),页面自己就刷新了。。。
当然,你可以直接 setState(() {});但是感觉这样没有意义啊。
Flutter在一般情况下都是你设置数据,数据导致了页面对应做出了渲染。 所以一般不搞直接刷新,因为如果你数据没变化,刷新也就没意义了。
13号 发表于 2021-7-12 10:31
我瞎写的。。。 doReload()意思是你得自己在这里做点事刷新。。。
具体doReload()该咋写要按照你的页面逻 ...
是一个网络请求。
我是打算实现这样的功能:
在帖子的内容页面点击一个按钮,用Navigator.push到回复框界面。
输入完回复内容之后点击发送,然后用Navigator.pop回到原来的帖子内容页面。
这个时候帖子会刷新一次重新发送网络请求,把回复内容之后的帖子内容展示。
我在构建帖子内容页面的时候,对每个回复是采用listview构造的,所以我就不太清楚如何再次刷新一次数据
https://z3.ax1x.com/2021/07/12/WP1pcj.png 好好看下文档关于setState的说法吧。
感觉写个function专门去取数据,然后取完之后setState,让页面渲染。
我猜你这个是按照官方文档写的,但你这个比官方文档这个略微复杂些。
建议搞两个state,一个status, 表示现在是不是在fetch, 一个response,是正式的返回的数据。
然后搞个方法,直接fetch(), 成功了之后修改status和reponse, 界面对应做渲染,这样也不需要FutureBuilder了。
Navigator.push这里按上面做的, 直接await Navigator.push;fetch(), 就可以了。 13号 发表于 2021-7-12 11:33
好好看下文档关于setState的说法吧。
感觉写个function专门去取数据,然后取完之后setState,让页面渲染。 ...
恩,这个功能不是很要紧,我打算放一放
那能不能问问大佬,对于图文并排该怎么弄?
比如说,我从论坛的API获取了一大串字符串数据,其中夹杂着图片和文字。形式如同这样
https://z3.ax1x.com/2021/07/15/Wukjwn.png
那怎么在flutter中识别出这串字符是图片的地址,然后用flutter去渲染图片,替换原来的位置?
达到图文混排的效果?我想到用正则表达式去做,但不是很清楚怎么在text中去识别然后用图片替换 用过 React Native
在框架本身的问题之外 iOS 和 Android 交互模式的差别 是更需要考虑的问题
别迷信跨平台 本帖最后由 13号 于 2021-7-15 22:06 编辑
EKVIN 发表于 2021-7-15 21:12
恩,这个功能不是很要紧,我打算放一放
那能不能问问大佬,对于图文并排该怎么弄?
比如说,我从 ...
import 'package:html/parser.dart' show parse;
extension CapExtension on String {
String get inCaps => '${this.toUpperCase()}${this.substring(1)}';
String get allInCaps => this.toUpperCase();
}
extension DocumentParsing on String {
String get contentPreview {
RegExp exp = RegExp(r"<[^>]*>", multiLine: true, caseSensitive: true);
return replaceAll(exp, '').replaceAll('\n', ' ').trim();
}
String get imgPreview {
var doc = parse(this);
var img;
try {
img = doc.querySelector("img");
} catch (e) {
return null;
}
if (img == null) return null;
RegExp re = RegExp(r"\.jpg|\.png|\.gif|\.jpeg|\.webp|\.bmp");
String srcLink = img.attributes['src'];
if (srcLink == null) return null;
if (srcLink.contains(re)) {
return srcLink;
}
return null;
}
}
刚好有个功能类似的函数。。。不过是通过css query取html里的数据, 略微改改就能用了吧。。。
13号 发表于 2021-7-15 22:04
刚好有个功能类似的函数。。。不过是通过css query取html里的数据, 略微改改就能用了吧。。。
...
是从来没见过的写法
我去研究一下这些语法。
这个,如果用dio获取数据,也是一样的吧? EKVIN 发表于 2021-7-15 23:29
是从来没见过的写法
我去研究一下这些语法。
这个,如果用dio获取数据,也是一样的吧? ...
String get contentPreview {
RegExp exp = RegExp(r"<[^>]*>", multiLine: true, caseSensitive: true);
return replaceAll(exp, '').replaceAll('\n', ' ').trim();
}
是这个代码进行替换吗。。
替换的时候甚至可以用widget替换? EKVIN 发表于 2021-7-15 23:31
是这个代码进行替换吗。。
替换的时候甚至可以用widget替换?
我懒得一行行删所以一次性copy过来了。。。
你上面都说了感觉应该用正则来匹配图片,这里一共就两个方法, 你觉得那个看起来更像是通过正则搜索图片的? 13号 发表于 2021-7-15 23:40
我懒得一行行删所以一次性copy过来了。。。
你上面都说了感觉应该用正则来匹配图片,这里一共就两个方法, ...
哈哈哈,看起来像是第二个
页:
1
[2]