美文网首页
小程序 checkbox 动态渲染数据延迟

小程序 checkbox 动态渲染数据延迟

作者: 一许青衫一 | 来源:发表于2018-12-12 21:36 被阅读0次

    背景

    最近在做公司的一个小程序项目,其中一个需求是在进入一个页面A,调用接口获取网点列表siteList。然后进行遍历处理,给每个网点对象添加checked属性(表示用户是否选中),我的目的是想做到就是,对于选中的网点,样式表现的不一样,例如文字换个颜色等等。
    并且能够根据用户实时选择的,进行样式变换。也就是复选的功能,我直接用了小程序的checkbox组件。很好,很不错。但是随之而来的带来一个问题,当我进入页面A后,并且对siteList处理,加上了checked属性。但是,样式并没有变化,控制台查看wxml,checked属性已经添加到每个网点的信息里面了,但是chekced==true的网点样式没有一点点改变。

    尝试

    我无意中尝试了,在控制台的AppData中,随意将一个网点的chekced属性,点击改变,万万没想到,这一改变,原本checked==true的网点样式全变了,变成了他们应该具有的模样。
    总结起来就是,checkbox的动态数据渲染延迟,换句话就是,好比文档上的例子,只有这个数据时静态的,chekced属性,本来就有的,后续不会变化的。那么根据checked的值,进行样式的改变,是正常的。
    但是如果,这个数据是动态的,你需要后面再给它添加checked属性,那么checkbox是不会实时响应到checkde==true的。他需要你再次动作进行触发他。

    可能的猜想

    google和文档,发现checkbox的数据是单向绑定的,我觉得可能与这个有关,无法做到实时的数据响应。

    解决办法

    自己用<view>写了一个类似复选框的,关键点,在于选中布尔值取反。

    相关文章

      网友评论

          本文标题:小程序 checkbox 动态渲染数据延迟

          本文链接:https://www.haomeiwen.com/subject/nnfmhqtx.html