uni-app中view和text组件和动画的使用

本文详细介绍了uni-app中的view和text组件,包括它们的属性、使用场景及注意事项,如hover效果、文本选择性、换行支持等,帮助开发者更好地掌握uni-app的布局与文本展示技巧。

uni-app修炼之路(七)

参考官方文档:https://uniapp.dcloud.io/component/view

view

视图容器。

它类似于传统html中的div,用于包裹各种元素内容。

如果使用nvue,则需注意,包裹文字应该使用组件。

属性说明

属性名类型默认值说明
hover-classStringnone指定按下去的样式类。当 hover-class=“none” 时,没有点击态效果
hover-stop-propagationBooleanfalse指定是否阻止本节点的祖先节点出现点击态
hover-start-timeNumber50按住后多久出现点击态,单位毫秒
hover-stay-timeNumber400手指松开后点击态保留时间,单位毫秒

如果使用 <div> ,编译时会被转换为 <view>

text

文本组件。

用于包裹文本内容。

属性说明

属性名类型默认值说明平台差异说明
selectableBooleanfalse文本是否可选
spaceString显示连续空格App、H5、微信小程序
decodeBooleanfalse是否解码 App、H5、微信小程序

space 值说明

说明
ensp中文字符空格一半大小
emsp中文字符空格大小
nbsp根据字体设置的空格大小

注意

  • <text> 组件内只支持嵌套 <text>,不支持其它组件或自定义组件,否则会引发在不同平台的渲染差异。
  • 在app-nvue下,只有<text>才能包裹文本内容。无法在<view>组件包裹文本。
  • decode 可以解析的有 &nbsp; &lt; &gt; &amp; &apos; &ensp; &emsp;。 各个操作系统的空格标准并不一致。
  • 除了文本节点以外的其他节点都无法长按选中。
  • 支持 \n 方式换行。
  • 如果使用 <span> 组件编译时会被转换为 <text>

代码示例:

<template>
	<view>
		
		<view class="view-box animated" hover-stay-time="1000" hover-class="view-box-hover rubberBand">view组件演示</view>
		<text :selectable="true">text组件\n第&nbsp;&nbsp;</text>
		
	</view>
</template>

<script>
	export default {
		data() {
			return {
			//title: 'Hello'
			}
		},
		onLoad() {

		},
		methods: {

		}
	}
</script>

<style>
	.view-box{
		width: 200upx;
		height:200upx;
		background:#09BB07;
		color: #FFFFFF;
		margin: 100upx;
	}
	.view-box-hover{
		background: red;
	}
</style>

在这里插入图片描述

uni-app x 框架中,纯前端组件使用与传统的 uni-app 组件体系保持高度一致,同时支持通过 UTS(Uni TypeScript)调用原生能力。因此,在选择使用组件时,既可以依赖 uni-app 内置的基础组件库,也可以结合第三方组件库或自定义组件来构建用户界面。 ### 1. 常用内置组件 uni-app 提供了一套标准的内置组件,适用于大多数前端开发场景。这些组件是跨平台兼容的,并且可以在 uni-app x 中直接使用- `<view>`:类似于 HTML 中的 `div`,用于布局容器。 - `<text>`:用于显示文本内容,支持部分 CSS 样式。 - `<image>`:用于加载展示图片资源。 - `<scroll-view>`:可滚动视图区域,支持横向纵向滚动。 - `<swiper>`:滑块视图容器,常用于轮播图等交互场景。 - `<button>`:按钮组件,支持点击事件处理。 这些组件在官方文档中有详细说明,开发者可以根据具体需求灵活组合[^1]。 ### 2. 第三方 UI 组件库推荐 为了提升开发效率并实现更丰富的视觉效果,可以使用成熟的第三方 UI 组件库。以下是一些常用的、兼容 uni-app 的 UI 库: #### **uView UI** uView 是一个功能强大且文档完善的 uni-app UI 框架,提供了大量高质量的组件工具函数,适用于快速开发。 - 官网地址:[https://www.uviewui.com](https://www.uviewui.com) - 支持 uni-app x 环境下的编译运行。 #### **Thor UI** Thor UI 是一款轻量级的 uni-app UI 组件库,适合需要精简结构高性能的应用场景。 - 特点:组件丰富、样式简洁、易于集成。 - 支持 H5、小程序及 App 平台。 #### **ColorUI** ColorUI 是一款以颜色搭配为特色的 UI 框架,注重视觉美感,适合对界面设计要求较高的项目。 - 提供了丰富的图标动画效果。 - 可定制性强,适配性良好。 ### 3. 自定义组件开发 在实际项目中,可能需要根据业务需求创建特定功能的组件uni-app 支持自定义组件开发,步骤如下: 1. 在项目目录下创建 `components` 文件夹,并在其中新建组件文件夹。 2. 每个组件包含 `.vue` 文件,结构包括 `<template>`、`<script>` `<style>` 部分。 3. 在页面配置文件 `pages.json` 中注册组件路径: ```json { "easycom": { "autoscan": true, "custom": { "my-component": "@/components/my-component.vue" } } } ``` 4. 在页面中直接使用组件标签名调用即可。 ### 4. 使用注意事项 - **跨平台兼容性**:虽然大部分组件在多端表现一致,但仍需注意某些平台特有的限制,例如微信小程序对部分 CSS 属性的支持有限。 - **性能优化**:避免在列表或循环中频繁渲染复杂组件,合理使用懒加载机制。 - **原生能力融合**:在 uni-app x 中,可以通过 UTS 调用原生 API,实现更高性能的交互体验,如设备信息获取、传感器控制等[^3]。 --- ```html <!-- 示例:使用 uView UI 中的按钮组件 --> <template> <view> <u-button type="primary" @click="handleClick">点击我</u-button> </view> </template> <script> export default { methods: { handleClick() { console.log("按钮被点击"); } } }; </script> ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值