原生组件说明
小程序和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(仅微信小程序、