聊骚
因为一些事情,本该忙活的我在昨天闲了下来。借着这难得的空闲时间,我把最近练习Flutter所跳的坑以及以往的一些不太懂的知识总结了下来,以便以后查阅复习。
Flutter
容器会自动占满父容器。
屏幕中的纵向元素过多容易导致溢出屏幕而报错,这时候需要使用容器去包裹子元素,使得屏幕可纵向滚动。
层叠容器会自动占满父容器(或整个屏幕)。该容器里的定位容器会依据Stack的第一个非容器去定位(该容器必须是Stack的第一个子容器)。而如果容器中的子容器全为,那么则依据定位。
容器的父容器不能是。
processData与contentType
标题所述的是 里的两个属性,他们经常在我使用时被使用,而我却一直没有去认真研究过~
先将设置为,然后测试设置为或对数据的处理效果:
没作任何处理,此时发送的就是这样的字符串~
我们再来看看为时的结果:
对象被序列化成了这种字符串形式,那么是不是所有对象都会序列化这种形式呢?
尝试上传数组:
同样也被序列化了~
但如果上传的数据已经是字符串的话,那么像JSON对象或普通的字符串就会被原样上传:
这里可以简单得出一个结论:一般用于处理键值对对象。
接下来看看,设置到底会对数据产生什么影响?
的默认为,而默认为。
如下这种写法等于没写这两个属性(都是的默认值),只是为了演示,方便复习:
变成键值对的形式了!
如果设置为会怎样呢?
同样是变成键值对的形式~
这时候已经可以得出结论了!
将会对进行编码,从而形成:的键值对形式,如果此时只含有字符串,那么就会将该字符串变成空值键值对,再来看个例子:
那么为什么使用进行文件上传需要将与设置为呢?
这是因为,已经默认处理好数据,含有数据上传的格式了,如下:
已经被修改为多数据上传格式,而数据又已经被处理成键值对的形式,所以没必要去设置与的值。
如果为亦或是对进行设置,那么数据就不是键值对的形式了~
结语
我个人认为,做知识汇总、记录坑点的过程是非常重要的。这不仅是为了在以后少走弯路,更重要的是,它会对个人的发展潜移默化。
当你发现自己已经达到所为的人生目标之时,反过头来一想,可能就是因为自己平时点点滴滴的反思与总结,让自己的人生得以成就。
关注不吃亏
领取专属 10元无门槛券
私享最新 技术干货