Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(swan): 修复Taro 2.0百度小程序列表渲染bug #7016

Merged
merged 8 commits into from
Jul 30, 2020

Conversation

shengbowen
Copy link

这个 PR 做了什么? (简要描述所做更改)
这个PR 主要是为了修复百度小程序列表渲染,不支持s-key属性的bug

这个 PR 是什么类型? (至少选择一个)

  • 错误修复(Bugfix) issue id 百度小程序、h5列表渲染bug #6736
  • 新功能(Feature)
  • 代码重构(Refactor)
  • TypeScript 类型定义修改(Typings)
  • 文档修改(Docs)
  • 代码风格更新(Code style update)
  • 其他,请描述(Other, please describe):

这个 PR 满足以下需求:

  • 提交到 master 分支
  • Commit 信息遵循 Angular Style Commit Message Conventions
  • 所有测试用例已经通过
  • 代码遵循相关包中的 .eslintrc, .tslintrc, .stylelintrc 所规定的规范
  • 在本地测试可用,不会影响到其它功能

这个 PR 涉及以下平台:

  • 微信小程序
  • 支付宝小程序
  • 百度小程序
  • 头条小程序
  • QQ 轻应用
  • 快应用平台(QuickApp)
  • Web 平台(H5)
  • 移动端(React-Native)

其它需要 Reviewer 或社区知晓的内容:
这个修改,只支持单层循环的情况,在某些情况下,需要在列表mount时通过Taro.setIsUsingDiff(false); 取消diff,在unmount中Taro.setIsUsingDiff(true); 恢复diff

fix(swan):  util添加generateMemberExpressionArray方法
fix(swan): 修复百度小程序列表渲染问题 NervJS#6736
fix(swan): 百度小程序列表渲染添加测试用例
@shengbowen shengbowen changed the title fix(swan): 修复Taro 2.0百度小程序列表渲染bug #6736 fix(swan): 修复Taro 2.0百度小程序列表渲染bug Jul 13, 2020
@shengbowen
Copy link
Author

本地build都没报错,不知道ci为什么报错~

@Chen-jj Chen-jj added the V-2 Version - 2.x label Jul 16, 2020
fix(swan):  解决eslint报错
@zpzxgcr
Copy link

zpzxgcr commented Jul 28, 2020

@shengbowen 我也遇到相同问题 还没有合并进去吧 急等着用新包

const keyAttribute: t.JSXAttribute | undefined = attributes.find(a => t.isJSXIdentifier(a.name, {name: 'key'}))
if (keyAttribute && t.isJSXExpressionContainer(keyAttribute.value)) {
let itemName = itemId!.name;
const expressionArray = generateMemberExpressionArray(keyAttribute.value.expression as t.MemberExpression)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里有问题呀,generateMemberExpressionArray 没有引入

@@ -2144,6 +2144,19 @@ export class RenderParser {
}
setJSXAttr(component.node, Adapter.for, t.stringLiteral(`{{${forExpr}}}`))
}
} if (Adapters.swan === Adapter.type) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里少了个 else

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
V-2 Version - 2.x
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants