推荐(免费):uni-app开发教程

文章目录

  • 前言
  • 一、基础组件
    • 1.scroll-view
    • 2.swiper
    • 3.text
    • 4.rich-text
    • 5.process
  • 二、表单组件
    • 1.button
    • 2.checkbox
    • 3.input
    • 4.label
    • 5.picker
    • 6.radio
    • 7.slider
    • 8.switch
    • 9.textarea
    • 10.form
  • 三、导航组件和页面传参
    • 1.navigator
    • 2.参数传递
  • 四、媒体组件
    • 1.audio
    • 2.image
    • 3.video
  • 总结

前言

本文主要介绍了uni-app中的组件,包括四大类:基础组件(scroll-view、swiper、text等)、表单组件(button、checkbox、input等)、导航组件navigator和页面传参、媒体组件(audio、image和video等),详细说明了这些组件的常用属性和方法,并进行使用举例和演示。

一、基础组件

组件是视图层的基本组成单元,一个组件通常包括开始标签和结束标签,属性用来修饰这个组件,内容在两个标签之内。
所有组件与属性名都是小写,单词之间以连字符-连接,根节点为<template>,其下只能有一个根组件。

框架为开发者提供了一系列基础组件,开发者可以通过组合这些基础组件进行快速开发。
常见的基础组件如下:

组件名说明
view视图容器,类似于HTML中的p
scroll-view可滚动视图容器
swiper滑块视图容器
icon图标
text文字
rich-text富文本
progress进度条

view是最基础的视图容器,类似于传统html中的p,用于包裹各种元素内容。

1.scroll-view

可滚动视图区域,用于区域滚动。
需注意在webview渲染的页面中,区域滚动的性能不及页面滚动。

常见的属性和含义如下:

属性名类型默认值说明
scroll-xBooleanfalse允许横向滚动
scroll-yBooleanfalse允许纵向滚动
upper-thresholdNumber50距顶部/左边多远时(单位px),触发 scrolltoupper 事件
lower-thresholdNumber50距底部/右边多远时(单位px),触发 scrolltolower 事件
scroll-topNumber设置竖向滚动条位置
scroll-leftNumber设置横向滚动条位置
scroll-into-viewString值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素
scroll-with-animationBooleanfalse在设置滚动条位置时使用动画过渡
enable-flexbooleanfalse启用 flexbox 布局。开启后,当前节点声明了 display: flex 就会成为 flex container,并作用于其孩子节点。

常见的事件和含义如下:

事件含义
@scrolltoupper滚动到顶部/左边,会触发 scrolltoupper 事件
@scrolltolower滚动到底部/右边,会触发 scrolltolower 事件
@scroll滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY}
@refresherpulling自定义下拉刷新控件被下拉
@refresherrefresh自定义下拉刷新被触发
@refresherrestore自定义下拉刷新被复位
@refresherabort自定义下拉刷新被中止

hello uniapp项目中,index.vue如下:

<template>
	<view>
		<scroll-view class="scv" scroll-x="true">
			<view>1</view>
			<view>2</view>
			<view>3</view>
			<view>4</view>
			<view>5</view>
			<view>6</view>
		</scroll-view>
	</view></template><script>
	var _self;
	export default {
		data() {
			return {
			}
		},
		onLoad() {
			_self = this
		},
		onShow() {
		},
		onHide() {
		},
		methods: {
		}
	}</script><style>
	scroll-view {
		display: flex;
	}
	.scv {
		width: 90%;
		margin: 0 auto;
		background: #F0AD4E;
		flex-wrap: nowrap;
		white-space: nowrap;
	}
	.scv view {
		width: 50%;
		height: 100px;
		background: #007AFF;
		display: inline-block;
	}</style>
登录后复制

显示:
uniapp component basic scrollview

显然,此时可以横向滚动。

2.swiper

滑块视图容器,一般用于左右滑动或上下滑动,比如banner轮播图。

说明:
滑动切换和滚动之间是有区别的,滑动切换是一屏一屏的切换,swiper下的每个swiper-item是一个滑动切换区域,不能停留在2个滑动区域之间,而滚动是允许停留在2个滚动区域之间的。

常见属性和含义如下:

属性名类型默认值说明
indicator-dotsBooleanfalse是否显示面板指示点
indicator-colorColorrgba(0, 0, 0, .3)指示点颜色
indicator-active-colorColor#000000当前选中的指示点颜色
active-classStringswiper-item 可见时的 class
changing-classStringacceleration 设置为 {{true}} 时且处于滑动过程中,中间若干屏处于可见时的class
autoplayBooleanfalse是否自动切换
currentNumber0当前所在滑块的 index
intervalNumber5000自动切换时间间隔
durationNumber500滑动动画时长
circularBooleanfalse是否采用衔接滑动,即播放到末尾后重新回到开头
verticalBooleanfalse滑动方向是否为纵向
previous-marginString0px前边距,可用于露出前一项的一小部分,接受 px 和 rpx 值
next-marginString0px后边距,可用于露出后一项的一小部分,接受 px 和 rpx 值

常见事件如下:

事件含义
@changecurrent 改变时会触发 change 事件,event.detail = {current: current, source: source}
@transitionswiper-item 的位置发生改变时会触发 transition 事件,event.detail = {dx: dx, dy: dy},支付宝小程序暂不支持dx, dy App、H5、微信小程序、支付宝小程序、字节跳动小程序、QQ小程序
@animationfinish动画结束时会触发 animationfinish 事件,event.detail = {current: current, source: source}

点赞(174)

评论列表共有 0 条评论

立即
投稿
返回
顶部