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

组件复用问题! #669

Closed
Yee1014 opened this issue Jun 22, 2018 · 17 comments
Closed

组件复用问题! #669

Yee1014 opened this issue Jun 22, 2018 · 17 comments

Comments

@Yee1014
Copy link

Yee1014 commented Jun 22, 2018

组件复用时有一定几率出现data-comkey=“undefined”

问题复现步骤:

  1. 自定义一个带有微信小程序input组件的自定义组件yinput
  2. 在新页面中复用yinput组件
  3. 页面中使用v-if展示两块内容,tabIndex判断为0或1时显示对应内容。
    为0时:账号和密码两个yinput
    为1时:账号、密码、确认密码、验证码。4个yinput
  4. 当从tabIndex为0切换到1时,1对应内容出现错误的data-comkey=“undefined”

期望的表现:
20180622100754

观察到的表现:

20180622100847

总结:
问题在第一次打开微信小程序登录页有一定几率出现。在我业务逻辑用户正常登录之后退出,再去登录页(此问题在登录页,登录页包含注册)切换登录注册(即tabIndex对应值)必然出现此问题。页面展示的时候为1时data-comkey=“undefined”的视图view不显示,wxml中如图所示。

@Yee1014
Copy link
Author

Yee1014 commented Jun 22, 2018

界面样式(正确无误)
tim 20180622124109

tim 20180622124119

@Yee1014 Yee1014 closed this as completed Jul 3, 2018
@tvChan
Copy link

tvChan commented Aug 20, 2018

@Yeecz hello,请问你这个问题解决了吗,是怎么解决哒

@Yee1014
Copy link
Author

Yee1014 commented Aug 20, 2018

@tvChan 我给这个页面重复的组件手动设置了key,并且在这个页面的key不重复。

@tvChan
Copy link

tvChan commented Aug 20, 2018

@Yee1014 我做的也是类似的手机验证码的表单,然后封装了个input组件,验证码的也是一个组件,嵌套,就会出现验证码那个组件显示不正常,时而显示时而没有。渲染出来就是data-comkey=“undefined”

@Yee1014
Copy link
Author

Yee1014 commented Aug 20, 2018

@tvChan 那你在使用组件时给它加个不重复的key可以解决这问题嘛?我的是这样解决的。

@tvChan
Copy link

tvChan commented Aug 20, 2018

@Yee1014 试了你那方法,不行。郁闷(# ̄~ ̄#)

@Yee1014
Copy link
Author

Yee1014 commented Aug 20, 2018

@tvChan mpvue技术交流群(707400214),那还是问一下里面的大佬吧。我也在里面。

@tvChan
Copy link

tvChan commented Aug 20, 2018

@Yee1014 满人了吗😂

@Yee1014
Copy link
Author

Yee1014 commented Aug 20, 2018

@tvChan 没有呢,还差几百人呢。

@tvChan
Copy link

tvChan commented Aug 20, 2018

@Yee1014 回答问题错误。提示说已经满人啦,自己再看看好了

@Yee1014
Copy link
Author

Yee1014 commented Aug 20, 2018

@tvChan 查看一下

@tvChan
Copy link

tvChan commented Aug 20, 2018

@Yee1014 进了其他群,Thanks♪(・ω・)ノ

@nciefeiniu
Copy link

@tvChan 老哥,这个问题怎么解决的

我也是同样的问题

同样的组件,有的页面可以

有的页面就 data-comkey="undefined"

@tvChan
Copy link

tvChan commented Sep 25, 2018

@nciefeiniu 这个没直接解决,我换成原生的组件了。还有老哥这称呼错了,hhhhh

@Yee1014
Copy link
Author

Yee1014 commented Sep 25, 2018

<yinput yplaceholder="密码" ytype="password" key="loginInput2"></yinput>

yinput 是自定义组件,手动添加了 key="loginInput2",如果页面有多个组件key中的值别重复

@tvChan @nciefeiniu 我是这样解决的。

@nciefeiniu
Copy link

@Yee1014 @tvChan

谢谢小哥哥 小姐姐

@luoyang125024608
Copy link

自己维护一套key,如自增id。不去复用组件可以暂时解决。

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

No branches or pull requests

4 participants