uniapp|原生控件层级过高无法覆盖的解决方案

原生组件说明
小程序和App的vue页面,主体是webview渲染的。为了提升性能,小程序和App的vue页面下部分ui元素,比如导航栏、tabbar、video、map使用了原生控件。这种方式被称为混合渲染。
虽然提升了性能,但原生组件带来了其他问题:

  • 前端组件无法覆盖原生控件的层级问题
  • 原生组件不能嵌入特殊前端组件(如scroll-view)
  • 原生控件ui无法灵活自定义
  • 原生控件在Android上,字体会渲染为rom的主题字体,而webview如果不经过单独改造不会使用rom主题字体

H5、App的nvue页面,不存在混合渲染的情况,它们或者全部是前端渲染、或者全部是原生渲染,不涉及层级问题。

uni-app 中原生组件清单如下:

  • map

  • video

  • camera(仅微信小程序、百度小程序支持)

  • canvas(仅在微信小程序、百度小程序表现为原生组件)

  • input(仅在微信小程序、支付宝小程序、字节跳动小程序、QQ小程序中且input置焦时表现为原生组件,其中支付宝小程序的input仅为text且置焦时才表现为原生组件)

  • textarea(仅在微信小程序、百度小程序、字节跳动小程序表现为原生组件)

  • live-player(仅微信小程序、百度小程序支持,App端直接使用video组件可同时实现拉流)

  • live-pusher(仅微信小程序、

你可能感兴趣的:(uniapp框架专业知识,uni-app)