数据更改后,模板样式丢失问题?
发布于 8 年前 作者 hcheng 9603 次浏览 来自 官方Issues
<view id="{{list.id||id}}" class="hlist {{list.listClass||list.class}}" >
        <block wx:if="{{util.isArray(list.data)}}">
          <block wx:for="{{list.data}}" wx:key="__key">
            <template is="itemContent" data="{{item, type: list.type}}" />
          </block>
        </block>
        <!-- <template is="listContent" data="{{collects: list.data, list}}" /> -->
      </view>

自己封装的列表组件,会触发修改样式及内容

  1. 确定listClass一定有值'width: 100%;',给view加上wx:if="{{list.listClass}}" 后,模板正常

  2. 列表子元素样式正常,确定是类'list-normal'的子元素样式

  3. 数据正常

更新方法为

that.setData({
    'list.listClass': 'list-normal',
    'list.data': [...]
})

问题表现:列表容器的样式类list-normal,在开发者工具中看上去丢失了,导致容器样式无效,但子元素有效

1 回复

{{list.listClass||list.class}}这是个判断语法,返回的是boolean类型,按你的setData的数据来开,你应该改成class="hlist {{list.listClass}}"这样就是字符串了。

回到顶部