中国怎么进fiverr网站做任务,帝国网站搬家,北京建设官方网站,做公司网站建设价格低最近在学习开发过程中遇见一系列的参数传递以及ui刷新问题#xff0c;在这里做个总结分享。
以下是在开发过程中遇见的问题#xff1a;
1.页面与子组件之间的参数传递与UI刷新
2.Builder自定义内部子组件的参数传递与UI刷新
3.Grid与List item发生变化Ui刷新问题
4.List…最近在学习开发过程中遇见一系列的参数传递以及ui刷新问题在这里做个总结分享。
以下是在开发过程中遇见的问题
1.页面与子组件之间的参数传递与UI刷新
2.Builder自定义内部子组件的参数传递与UI刷新
3.Grid与List item发生变化Ui刷新问题
4.List嵌套Grid多层Array嵌套数据状态发生变化Ui刷新 页面与子组件之间的参数传递与Ui刷新
在刚开始的时候认为State Prop Link这几个是用来控制数据是否发生改变然后来控制ui的刷新 因此在定义子组件的时候定义了 一个State uiState :number 0来控制ui每次刷新其他参数并没有用装饰器修饰
结果子组件ui没有刷新
解决方案使用装饰器来配合参数传递子组件中用Prop或者Link装饰器来修饰参数。 Builder自定义内部子组件的参数传递与UI刷新
问题在Builder装饰器修饰的内部组件中传值按值传递参数参数发生改变时UI没有发生相应的改变 解决方案
Builder装饰器修饰的方法有状态改变需要刷新ui的时候需要使用按引用传值详情请参考文档文档中心 Grid与List item发生变化Ui刷新问题
问题在Grid和List中点击itemitem状态发生改变但是ui没有刷新
解决方案
通过ForEeah迭代出来的组件直接操作item数据列表检测不到数据源发生变换因此不会刷新ui
需要通过position直接操作Array中的元数据这个时候系统会检测到元数据发生变换ui会再次刷新 List嵌套Grid多层Array嵌套数据状态发生变化Ui刷新
问题从服务器中请求下来的元数据嵌套了三层当最底层的Bean状态发生改变List嵌套Grid中Grid的item 的ui没有刷新
State检测不到二级数组的变化object内部属性更新不会即时刷新ui
解决方案 在改变完元数据Bean的状态后需要给List从新赋值
this.allList this.allList :没有效果
this.allList [...this.allList] //展开数组再合起来把值赋回去这样子新开了一个内存浅拷贝0层级的变化
系统会检测到allList数据发生变化ui也会重新绘制 闲扯
在解决34问题的过程中也尝试使用了ObjectLink 和Observed装饰器检测对象属性的变化
但是ObjectLink修饰的变量对象在传值的过程中需要传 new一个Observed装饰器修饰的对象
我的对象是从服务器获取数据之后直接赋值的因此不能直接new所以就不能使用
在当前场景不适用 个人对以上遇见问题的整理欢迎指正