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

在使用regular-ui时发现的一个坑,是regular内部机制的问题? #210

Open
Jaycexx opened this issue May 19, 2018 · 3 comments

Comments

@Jaycexx
Copy link

Jaycexx commented May 19, 2018

我想在Suggests组件onchange的时候,对value作处理再显示,组件定义如下:

<suggest source={options.channels} on-select={this.selectChannel($event)} value={valuevalue}/>

事件函数如下:

selectChannel($event) {
       ...

        this.data.valuevalue = '';
        ...
    }

但结果this.data.valuevalue = '';只会在第一次调用的时候reset成功是为什么?
这个问题有点类似与Anuglar1.x的一个坑,就是子$scope会隐性创建上级$scope的同名model导致赋值失效,但这个坑可以通过传递引用类型model来绕过,但这种方法在regular下不管用。
求解决方案

@leeluolee
Copy link
Member

应该不是你猜测的那样 ,你指的应该是ng里经常会创建一个 原型clone自当前scope的 子scope吧。regular里并不会有这种实现

可以提供一个 可运行的 片断么?

@fengzilong
Copy link
Member

@329530588 能说下复现步骤么?

https://codepen.io/anon/pen/wjNyjo
感觉这是正常的表现,因为外层组件前后两次valuevalue都是空,没有引发视图变化
如果你先输入a,再点击aaa,那就是你说的那个效果了

https://codepen.io/anon/pen/bMzKge
你想要的可能是这种?修改suggest组件内部的状态

- this.data.valuevalue = ''
+ $event.sender.data.value = ''

@Jaycexx
Copy link
Author

Jaycexx commented May 25, 2018

@fengzilong 你说的第二种是我想要的效果,但这种方法我尝试过,在项目中也没能生效。目前考虑可能是项目中regular的原因或者其他业务代码的影响

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

No branches or pull requests

3 participants