uni-app 组件

时间:2022-07-05
本文章向大家介绍uni-app 组件,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

组件: 组件时视图层的基本组成单元

<template>
 <view>
  <tagname property = "value">
     content
    </tagname>
 </view>
</template>

view scroll-view swiper text rich-text progress

button checkbox form input label picker radio slider switch textarea

navigator、 open-type String navigate 跳转方式

hover-class String navigator-hover 指定点击时的样式类,当hover-class="none"时,没有点击态效果

hover-stop-propagation Boolean false 指定是否阻止本节点的祖先节点出现点击态

hover-start-time Number 50 按住后多久出现点击态,单位毫秒

hover-stay-time Number 600 手指松开后点击态保留时间,单位毫秒

navigate 对应 uni.navigateTo 的功能

redirect 对应 uni.redirectTo 的功能

switchTab 对应 uni.switchTab 的功能

reLaunch 对应 uni.reLaunch 的功能 微信小程序

navigateBack 对应 uni.navigateBack 的功能 微信小程序

<navigator url="navigate/navigate?title=navigate" hover-class="navigator-hover">
                    <button type="default">跳转到新页面</button>
</navigator>
 <navigator url="redirect/redirect?title=redirect" redirect hover-class="other-navigator-hover">
                    <button type="default">在当前页打开</button>
</navigator>
export default {
    data() {
        return {
            title: 'navigator'
        }
    },
    methods: {
    }
}

页面传值

<template>
    <view>
        <view class="page-body">
            <view class="btn-area">
                <navigator url="./test?title=navigate" hover-class="navigator-hover">
                    <button type="default">跳转到新页面</button>
                </navigator>
            </view>
        </view>
    </view>
</template>
<script>
export default {
 data:{},
 onLoad:function(options){
  console.log(options);
  console.log(options.title);
 }
}
</script>
缩放 scaleToFill 不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素
缩放 aspectFit 保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。
缩放 aspectFill 保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
缩放 widthFix 宽度不变,高度自动变化,保持原图宽高比不变
裁剪 top 不缩放图片,只显示图片的顶部区域
裁剪 bottom 不缩放图片,只显示图片的底部区域
裁剪 center 不缩放图片,只显示图片的中间区域
裁剪 left 不缩放图片,只显示图片的左边区域
裁剪 right 不缩放图片,只显示图片的右边区域
裁剪 top left 不缩放图片,只显示图片的左上边区域
裁剪 top right 不缩放图片,只显示图片的右上边区域
裁剪 bottom left 不缩放图片,只显示图片的左下边区域
裁剪 bottom right 不缩放图片,只显示图片的右下边区域

audio 音频

id String  audio 组件的唯一标识符
src String  要播放音频的资源地址
loop Boolean false 是否循环播放
controls Boolean false 是否显示默认控件
poster String  默认控件上的音频封面的图片资源地址,如果 controls 属性值为 false 则设置 poster 无效
name String 未知音频 默认控件上的音频名字,如果 controls 属性值为 false 则设置 name 无效
author String 未知作者 默认控件上的作者名字,如果 controls 属性值为 false 则设置 author 无效
binderror EventHandle  当发生错误时触发 error 事件,detail = {errMsg: MediaError.code}
bindplay EventHandle  当开始/继续播放时触发play事件
bindpause EventHandle  当暂停播放时触发 pause 事件
bindtimeupdate EventHandle  当播放进度改变时触发 timeupdate 事件,detail = {currentTime, duration}
bindended EventHandle  当播放到末尾时触发 ended 事件
MediaError.code

代码:

<template>
    <view>
        <view class="page-body">
            <view class="page-section page-section-gap" style="text-align: center;">
                <audio style="text-align: left" :src="current.src" :poster="current.poster" :name="current.name" :author="current.author" :action="audioAction" controls></audio>
            </view>
        </view>
    </view>
</template>
export default {
    data() {
        return {
            title: 'audio',
            current: {
                poster: 'https://',
                name: '',
                author: '',
                src: 'https://',
            },
            audioAction: {
                method: 'pause'
            }
        }
    }
}

map 地图

longitude Number  中心经度 
latitude Number  中心纬度 
scale Number 16 缩放级别,取值范围为5-18 
markers Array  标记点 
covers Array  即将移除,请使用 markers 
polyline Array  路线 
circles Array  圆 
controls Array  控件 
include-points Array  缩放视野以包含所有给定的坐标点 
show-location Boolean  显示带有方向的当前定位点 
@markertap EventHandle  点击标记点时触发 
@callouttap EventHandle  点击标记点对应的气泡时触发 微信小程序、5+App
@controltap EventHandle  点击控件时触发 
@regionchange EventHandle  视野发生变化时触发 
@tap EventHandle  点击地图时触发 
@updated EventHandle  在地图渲染更新完成时触发 微信小程序
<template>
    <view>
        <view class="page-body">
            <view class="page-section page-section-gap">
                <map style="width: 100%; height: 300px;" :latitude="latitude" :longitude="longitude" :markers="covers">
                </map>
            </view>
        </view>
    </view>
</template>
export default {
    data() {
        return {
            title: ' ',
            latitude: ,
            longitude: ,
            markers: [{
    width : 40,
    height: 40,
                latitude: ,
                longitude: ,
                iconPath: ' '
            }]
        }
    },
    methods: {
    }
}
</script>

若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。