jdf2e / nutui

京东风格的移动端 Vue 组件库,支持多端小程序(A Vue.js UI Toolkit for Mobile Web)
https://nutui.jd.com
MIT License
6.17k stars 835 forks source link

[FR]: 支持CustomWrapper #3177

Open hcg1023 opened 3 months ago

hcg1023 commented 3 months ago

NutUI 包名

@nutui/nutui-taro

这个功能解决了什么问题?

对于嵌套层级过深的组件,Taro提供了CustomWrapper这个组件来处理,避免baseLevel过高引起模板过大,但是nutui中使用了Taro.createSelectorQuery()的组件,如果在CustomWrapper内,将会引起报错,或者无法使用

你期望的组件设计是怎样的?

nutui可以提供一个nut-custom-wrapper,同时将组件的ctx向下传递,内部组件获取到customwrapper,则通过Taro.createSelectorQuery()获取元素时,采用了Taro.createSelectorQuery().in(customWrapperCtx)的方式获取

hcg1023 commented 3 months ago

或者是提供一对provide和inject的hook,可能相对而言会更合适,在内部需要用到createSelectorQuery()的位置就去取inject

hcg1023 commented 3 months ago

例如:menu、ellipsis等组件均会出错