uni-app的组件(一)

这篇具有很好参考价值的文章主要介绍了uni-app的组件(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

scroll-view

可滚动视图区域。用于区域滚动

	<scroll-view scroll-y="true" :scroll-top="scrollTop" class="scroll-y" @scroll="scroll">
		<view id="demo1" class="scroll-view-item bg-red">A</view>
		<view id="demo2" class="scroll-view-item bg-green">B</view>
		<view id="demo3" class="scroll-view-item bg-blue">C</view>
	</scroll-view>

属性说明(查看更多属性请查看官网 [swiper | uni-app官网 (dcloud.net.cn)](https://uniapp.dcloud.net.cn/component/swiper.html)

属性名 类型 默认值 说明
scroll-y Boolean false 允许纵向滚动
scroll-top Number/String 设置竖向滚动条位置
@scroll EventHandle 滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY}

效果展示

uni-app的组件(一),uni-app,uni-app,vue.js,前端

一键回到顶部

		<button @click="goTop">回到顶部</button>
		<scroll-view scroll-y="true" :scroll-top="scrollTop" class="scroll-y" @scroll="scroll">
			<view id="demo1" class="scroll-view-item bg-red">A</view>
			<view id="demo2" class="scroll-view-item bg-green">B</view>
			<view id="demo3" class="scroll-view-item bg-blue">C</view>
		</scroll-view>

script 部分代码

			scroll: function(e) {
				console.log(e.detail.scrollTop);
				//方案一:
				this.old.scrollTop = e.detail.scrollTop
				//方案二:
				// this.scrollTop = e.detail.scrollTop
			},
			goTop() {
				//方案一:
				this.scrollTop = this.old.scrollTop;
				this.$nextTick(function() {
					this.scrollTop = 0;
				})
				//方案二:
				// this.scrollTop = 0;
			}

点击效果是点击按钮返回到第一个滑块的位置

swiper

轮播图的滑块视图容器

轮播图代码

		<swiper class="swiper" :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000" circular
			interval="5000" current="1">
			<swiper-item>
				<view class="swiper-item bg-red">A</view>
			</swiper-item>
			<swiper-item>
				<view class="swiper-item bg-green">B</view>
			</swiper-item>
			<swiper-item>
				<view class="swiper-item bg-blue">C</view>
			</swiper-item>
		</swiper>

轮播图样式

	.swiper {

		// height: 200upx;
		.swiper-item {
			height: 250upx;
			line-height: 250upx;
			text-align: center;
			color: black;
		}

		.bg-red {
			background-color: red;
		}

		.bg-green {
			background-color: green;
		}

		.bg-blue {
			background-color: blue;
		}
	}

属性说明(查看更多属性请查看官网 [swiper | uni-app官网 (dcloud.net.cn)](https://uniapp.dcloud.net.cn/component/swiper.html)

属性名 类型 默认值 说明
indicator-dots Boolean false 是否显示面板指示点
autoplay Boolean false 是否自动切换
interval Number 5000 自动切换时间间隔
duration Number 500 滑动动画时长
circular Boolean false 是否采用衔接滑动,即播放到末尾后重新回到开头
current Number 0 当前所在滑块的 index

效果展示

uni-app的组件(一),uni-app,uni-app,vue.js,前端

弹窗

弹窗所绑定的事件

<button @click="showLoad">弹窗</button>
提示框

script部分

showLoad(){
	uni.showLoading({
		title:"加载中...",
		mask: true
	})
    setTimeout(function(){
		uni.hideLoading()
	},3000)
}

点击按钮后的效果图(因为设置时间是三秒,不设置就不会关闭,mask是表示提示框出现后页面的其他内容不可触摸)

uni-app的组件(一),uni-app,uni-app,vue.js,前端

提示弹窗(与加载中弹窗类似)

script部分

showLoad(){
	uni.showToast({
		title:"成功操作",
		icon:"success",
		duration:2000
	})
}

点击按钮后的效果图(duration:设置显示时长为2秒,title:设置提示文字,icon:设置显示图标)

uni-app的组件(一),uni-app,uni-app,vue.js,前端

确认取消弹窗

script部分

showLoad(){
	uni.showModal({
		title:"提示",
		content:"确认删除该选项",
		success:function(res){
			if(res.confirm){
				console.log("确认");
			}else{
				console.log("取消");
			}
		}
	})
}

点击按钮后的效果图(res.confirm == true 点击确认按钮执行操作)

uni-app的组件(一),uni-app,uni-app,vue.js,前端

确认取消弹窗的自定义设置

script部分

showLoad(){
	uni.showModal({
		title:"提示",
		content:"确认删除该选项",
		confirmText:"删除", //确认按钮
		cancelText:"取消", // 取消按钮
		confirmColor: "#4cd964",
		cancelColor: "#dd524d",
		success:function(res){
			if(res.confirm){
				console.log("确认");
			}else{
				console.log("取消");
			}
		}
	})
}

成品效果图

uni-app的组件(一),uni-app,uni-app,vue.js,前端

列表提示框

script部分

showLoad(){
	uni.showActionSheet({
		itemList: ['选项一', '选项二', '选项三', '选项四'],
		itemColor: "#007aff",
		success: function(res) {
			console.log(res.tapIndex);
		},
		fail() {
			console.log("取消");
		}
	})
}

成品效果图(itemList:列表数组,itemColor:列表字体颜色)

uni-app的组件(一),uni-app,uni-app,vue.js,前端

按钮

		<button size="mini" type="primary">我是按钮</button>
		<button size="mini" type="primary">我是按钮</button>
		<button type="primary">我是按钮</button>
		<button type="primary" disabled="true">我是按钮</button>
		<button loading type="warn">我是按钮</button>

效果图(size=“mini”:设置按钮大小)

uni-app的组件(一),uni-app,uni-app,vue.js,前端

选择器picker

从底部弹起的滚动选择器

单列选择器
		<picker :range="array" @change="bindPickChange" range-key="name" :value="index">
			<view style="padding: 20rpx;background-color:white;">
				{{array[index].name}}
			</view>
		</picker>

属性说明(查看更多属性请查看官网 [swiper | uni-app官网 (dcloud.net.cn)](https://uniapp.dcloud.net.cn/component/swiper.html)

属性名 类型 默认值 说明
range Array / Array [] mode为 selector 或 multiSelector 时,range 有效
range-key String 当 range 是一个 Array<Object> 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容
value Number 0 value 的值表示选择了 range 中的第几个(下标从 0 开始)

script部分

data(){
	return{
		index: 0,
		array: [{
				name: "中国"
			},
			{
				name: "美国"
			},
			{
				name: "俄罗斯"
			},
			{
				name: "德国"
			}
		],
	}
},
methods: {
	bindPickChange: function(e) {
		this.index = e.detail.value
	},
}

效果图

uni-app的组件(一),uni-app,uni-app,vue.js,前端

多列选择器
		<picker @change="bindPickChange" mode="multiSelector" @columnchange="bindMultiPickerColumnChange"
			:value="multindex" :range="multArray">
			<view style="background-color: white;">
				{{multArray[0][multindex[0]]}},
				{{multArray[1][multindex[1]]}},
				{{multArray[2][multindex[2]]}}
			</view>
		</picker>

script部分

data(){
	return{
		multArray: [
			['亚洲', '欧洲'],
			['中国', '德国'],
			['北京', '柏林']
		],
		multindex: [0, 0, 1],
	}
},
methods: {
	bindMultiPickerColumnChange: function(e) {
		this.multindex[e.detail.column] = e.detail.value;
		//刷新
		this.$forceUpdate()
	},
}

效果展示

uni-app的组件(一),uni-app,uni-app,vue.js,前端

时间选择器
		<picker mode="time" :value="time" :start="minTime" :end="maxTime" @change="bindTimeChange">
			<view style="background-color: white;">{{time}}</view>
		</picker>

script部分

data(){
	return{
		time: '12:01'
	}
},
methods: {
	bindTimeChange: function(e) {
		this.time = e.detail.value
	},
}

效果展示

uni-app的组件(一),uni-app,uni-app,vue.js,前端

日期选择器
		<picker mode="date" :value="date" :start="startDate" :end="endDate" @change="bindDateChange">
			<view style="background-color: white;">{{date}}</view>
		</picker>

script部分

export default{
	data(){
		return{
			date: getDate({
				format: true
			}),
			startDate: getDate('start'),
			endDate: getDate('end'),
		}
	},
	methods:{
		bindDateChange: function(e){
			this.date = e.detail.value
		},
	}
}
function getDate(type) {
	const date = new Date();
	let year = date.getFullYear();
	let month = date.getMonth()+1;
	let day = date.getDate();
	if(type == 'start'){
		year = year - 10;
	}else if(type == 'end'){
		year = year + 10
	}
	month = month > 9 ? month : '0' + month;
	day = day > 9 ? day : '0' + day ;
	return `${year}-${month}-${day}`
}

uni-app的组件(一),uni-app,uni-app,vue.js,前端文章来源地址https://www.toymoban.com/news/detail-794958.html

到了这里,关于uni-app的组件(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端vue uni-app多图片上传组件,支持单个文件,多个文件上传 步骤条step使用

    快速实现多图片上传组件,支持单个文件,多个文件上传 步骤条step使用; 阅读全文下载完整代码请关注微信公众号: 前端组件开发 效果图如下: 使用方法   使用方法 HTML代码部分   html JS代码 (引入组件 填充数据)   javascript

    2024年02月08日
    浏览(92)
  • uni-app:vue3 + uni-app 在微信小程序中无法使用app.component全局注册组件

    按上文中的代码执行后,会发现在微信小程序开发中全局注册的组件是无法显示的,这是uniapp的一个未解决bug, 在uniapp中出了可以通过vue实例的component方法注册全局组件外,uniapp支持另一种全局注册的方式,就是通过 easycom 扫描注册,步骤如下 easycom 的扫描流程是:通过代码

    2024年02月16日
    浏览(98)
  • Vue.js uni-app 混合模式原生App webview与H5的交互

    在现代移动应用开发中,原生App与H5页面之间的交互已经成为一个常见的需求。本文将介绍如何在Vue.js框架中实现原生App与H5页面之间的数据传递和方法调用。我们将通过一个简单的示例来展示如何实现这一功能。 效果图如下: 首先,我们需要在Vue.js项目中引入原生App与H5页面

    2024年02月16日
    浏览(72)
  • 前端Vue uni-app App/小程序/H5 通用tree树形结构图

    随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。 通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随

    2024年02月16日
    浏览(51)
  • uni-app 前端项目(vue)部署到本地win系统Nginx上 http

     背景: 若依移动端的项目:整合了uview开源ui框架 部署流程 1. 配置后端请求接口基本路径地址: 2. 打包复制到nginx下:nginx/htm/newxss, (newxss目录手动创建) 3.在nginx上配置了站点与api代理  Nginx配置 安装个稳定版本的:nginx-1.24.0 部署配置: 1.增加了网站: 8083端口 的, 网站

    2024年04月12日
    浏览(46)
  • uni-app的Vue.js实现微信小程序的紧急事件登记页面功能

    主要功能实现  完成发生时间选择功能,用户可以通过日期选择器选择事件发生的时间。 实现事件类型选择功能,用户可以通过下拉选择框选择事件的类型。 添加子养殖场编号输入框,用户可以输入与事件相关的子养殖场编号。 完成事件描述输入功能,用户可以通过文本输

    2024年02月12日
    浏览(61)
  • uni-app(Vue3/Vite) + vant UI(Vue3版本)+ js 按需引入的项目搭建

            因为要完成软件工程的项目,要做一个nativeApp,看了很多的技术文档以后决定使用多端兼容的uni-app来开发。组件方面的话最后决定使用目前比较火的Vant UI。但是看了CSDN和掘金上面的很多文章,似乎没有一篇是关于uni-app中使用Vite对vant组件进行按需引入(可能这个

    2023年04月09日
    浏览(68)
  • uni-app使用vue3,在元素或组件实例上添加ref,用this.$refs显示undefined

    项目中引用了一个UI组件库,在表单上添加了`ref`属性,方便提交时验证。触发提交方法时显示不存在这个方法或this.$refs为undefined。 解决方法: 引入`getCurrentInstance`,t得到当前组件实例,然后用`ctx.$refs`代替`this.$refs`。这里的`ctx`相当于全局this。 ------------------ 2023/10/27更新-

    2024年02月07日
    浏览(49)
  • 前端Vue uni-app简单实用通用标签栏自动换行 自适应高度 可设置行数 可改标签颜色

    随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随

    2024年02月05日
    浏览(80)
  • uni-app表单组件

    common-form.vue actionList.vue comImage.vue number.vue

    2024年02月16日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包