小程序常用组件

小程序常用组件

  • 1.组件的定义
  • 2.常用组件
  • 3.引入外部字体图标库
  • 4.组件样式
  • 5.示例代码

1.组件的定义

组件就是指微信定义的具有特殊功能的标签,在wxml中只能使用微信定义的标签。

2.常用组件

  <view>:用于页面布局的块级组件,类似于html中的div标签,默认不具有任何样式,独占一行<text>:用于页面布局的行级组件,类似于html中的span,默认不具有任何样式,不会独占一行<scroll-view>:可滚动的块级组件<swiper>:实现轮播的块级组件,其中只能放置swiper-item组件,否则会出现未定义的异常<icon>:图标<rich-text>:富文本<表单组件>:表单<navigator>:导航,类似于html中的标签<a><image>:图片<map>:地图

3.引入外部字体图标库

  • 登录 iconfont-阿里巴巴矢量图标库:https://www.iconfont.cn
  • 找到需要的图标加入购物车 -> 添加至项目(无项目自己创建)-> 选择 Font-class -> 查看在线链接 -> 点击链接可以查看到代码
    在这里插入图片描述
  • 复制代码,并在小程序中创建一个 wcss文件,将代码粘贴至文件中
  • 直接引用里面的图标

4.组件样式

WXSS(WeiXin Style Sheets)是微信定义的一套样式语言,用于描述WXML的组件样式,具有CSS大部份特性,同时对CSS进行了扩充的修改。
相同特性如:选择器与CSS相同,都有以下几种:

  • 标签选择器:view{}
  • 类选择器:.myView{}
  • id选择器:#id{}
  • 行级样式:在组件内属性直接写style属性
  • 外部样式

扩展特性主要有以下两点:

  • 尺寸单位:新增了rpx单位,能自适应不同分辨率的手机,px是传统意义上的像素值,不能很好的适应不同分辨率的手机。
  • 样式导入:@import “外部样式文件”

全局样式与局部样式:定义在app.wxss中的样式为全局样式,作用于每一个页面。在页面的wxss文件中定义的样式为局部样式,仅作用于当前页面。全局样式与局部样式冲突时使用局部样式。

5.示例代码

WXML示例代码:

<!-- 两对大括号{{}}称为插值表达式,用来进行数据的展示 -->
<!-- <text style="height:2000rpx;display:block;background:#ccc">{{ msg }}</text> -->
<!--view和text
-->
<view class="hi" id="world" style="text-decoration:underline">块级标签</view>aaa
ccc
<text user-select="true">行级标签</text>bbb<!-- wxss的扩展 -->
<view class="myView">wxss扩展特征</view><!-- scroll-view1.必须要设置固定的高度或宽度2.内部元素必须超出高度或宽度3.必须定义滚动方向
-->
<scroll-view scroll-y="true" bindscrolltoupper="scrolltoupper" bindscrolltolower="scrolltolower"><view>view1</view><view>view2</view><view>view3</view>
</scroll-view><!--swiper 只可放置swiper-item组件
-->
<swiper autoplay="true" indicator-dots="true" indicator-color="#fff"><swiper-item>view1</swiper-item><swiper-item>view2</swiper-item><swiper-item>view3</swiper-item>
</swiper><!--icon 显示内置图标
-->
<view class="myicon"><icon type="success" size="40" color="red"></icon><icon type="info"></icon><icon type="download"></icon><!--  引入外部的字体图标库 --><text class="iconfont icon-cart"></text><text class="iconfont icon-cart1"></text>
</view><!--rich-text 展示富文本代码
-->
<view class="myrichtext"><rich-text nodes="<h2 style='text-align:center;color:blue;'>abcd</h2>"></rich-text><rich-text nodes="{{ content }}"></rich-text>
</view><!--表单组件
-->
<form class="myfrom" bindsubmit="duSUbmit"><input name="username" placeholder="用户名称"></input><input name="pwd" password></input><radio-group name="sex" bindchange="chgSex"><radio checked="true" value="man"></radio><radio value="gril"></radio></radio-group><checkbox-group name="like" bindchange="chglike"><checkbox value="ps">爬山</checkbox><checkbox value="yy">游泳</checkbox><checkbox value="dlq">打蓝球</checkbox></checkbox-group><view><picker mode="date" value="{{ date }}" bindchange="binddatechg">选择日期</picker><text> {{date}} </text><picker mode="region" bindchange="bindRegion">选择地址:{{ region }}</picker><picker mode="selector" range="{{ countrys }}" bindchange="bindCountry">选择国家:{{ countrys[index] }}</picker></view><view><switch checked="true" name="open" bindchange="bindOpen"></switch></view><view><button form-type="submit" size="mini" type="primary">提交</button><button type="primary" bindtap="doButton" size="mini">普通按钮</button></view>
</form><!--导航组件1.默认只能跳转到非tabBar页面2.如果要跳转到tabBar页面,需要指定open-type为switchTab
-->
<navigator url="/pages/logs/logs">跳转到logs</navigator>
<navigator url="/pages/index/index" open-type="switchTab">跳转到index</navigator>
<!--  重定向时,当前页面会被卸载 -->
<navigator url="/pages/logs/logs" open-type="redirect">重定向到logs</navigator><!--image1.自带宽度和高度,默认width:320px,height:240px
-->
<view class="myimage"><image src="/images/我的1.png"></image><image src="https://p1.itc.cn/q_70/images03/20240101/5d01d5da227a4a2c90c1662146af625b.jpeg"></image><image src="/images/我的1.png" mode="scaleToFill"></image><image src="/images/我的1.png" mode="aspectFit"></image><image src="/images/我的1.png" mode="aspectFill"></image><image src="/images/我的1.png" mode="widthFix"></image><image src="/images/我的1.png" mode="heightFix"></image><image src="/images/我的1.png" mode="top"></image><image src="/images/我的1.png" mode="top right"></image><image src="/images/我的1.png" mode="top left"></image>
</view><!--map
-->
<map longitude="118" latitude="32"></map>

WXSS示例代码:

.myView,scroll-view,swiper,.myicon,.myrichtext,myfrom,navigator,myimage {margin-bottom: 30rpx;
}/*wxss中选择器与css相同标签选择器、类选择器、id选择器、行级样式、外部样式等
*/
view {color:red
}
.hi {background: #ccc;
}
#world {font-weight: bold;
}
/*wxss特征1.尺寸单位2.样式导入3.全局样式与局部样式4.不能指定本地图片,无法加载本地资源
*/
.myView {font-size: 40rpx;height: 400rpx;background: #ccc;background-image: url(https://bkimg.cdn.bcebos.com/pic/cefc1e178a82b9014a90e40fabc7be773912b31b41fe);background-size: 100%;
}
@import "../../styles/common.wxss";text {color: blue;
}scroll-view {height: 300rpx;border: 1px solid #f00;
}
scroll-view view {height: 200rpx;background: white;border: 1px solid white;
}swiper {height: 200rpx;color: white;
}
swiper swiper-item:first-child {background-color: red;
}
swiper swiper-item:nth-child(2) {background-color: blue;
}
swiper swiper-item:last-child {background-color: green;
}/* 引入图标字体库 */
@import "../../styles/iconfont.wxss";
.myicon text {font-size: 60rpx;color: green;
}.myfrom input {background-color: #ccc;height: 50rpx;width: 400rpx;border: 1px solid #f00;margin: 0 auto;
}.myimage image {width:150px;height:150px;border: 1px solid #f00;margin-right: 3px;
}

JS示例代码:

//获取小程序App实例
const app = getApp();
console.log(app);
console.log(app.user.name);
app.show();Page({// 页面初始数据,称为数据仓库datadata:{msg:'hello',arr:[1,2,3,4],user:{id:1001,name:'dog'},content:'<div><img src="../../images/我的1.png"></img></div>',date:'2000-09-01',countrys:['中国','日本','美国','英国']},/*** 生命周期回调函数-监听页面加载* 1.该函数只执行一次* 2.已加载的页面会被缓存,不会重复加载,提高性能*/onLoad:function(options){ // 参数options中包含了跳转到当前页面时,所携带的参数信息console.log('关于页面加载......',options)},/*** 生命周期回调函数-监听页面初次渲染完成* 该函数只执行一次*/onReady:function(){console.log('关于页面初次渲染完成.....')},/*** 生命周期回调函数-监听页面显示* 该函数可以多次执行,第一次执行时早于onReady*/onShow:function(){console.log('关于页面显示......')},/*** 生命周期回调函数-监听页面隐藏* 该函数可以多次执行*/onHide:function(){console.log('关于页面隐藏......')},/*** 生命周期回调函数-监听页面卸载*/onUnload:function(){console.log('关于页面卸载......')},/*** 监听用户下拉刷新事件*/onPullDownRefresh:function(){console.log('关于页面执行下拉刷新......')},/*** 监听用户上拉触底事件*/onReachBottom:function(){console.log('关于页面上拉触底事件发生......')},/*** 监听用户点击右上脚的转发* 只有监听了该事件后,点击右上脚的转发才能分享* 转发的标题、显示的图片和转发的具体页面都可以指定*/onShareAppMessage:function(options){console.log('关于页面执行了转发......',options);return {title:'分享标题',path:'/pages/about/about',imageUrl:'../../images/主页2.png'}},/*** 监听当前页面对应的tab点击操作*/onTabItemTap:function(item){console.log('关于页面的tab被点击了......',item)// this代表当前页面实例console.log(this);// 获取自定义的数据和方法console.log(this.user.name);this.show();// 获取数据仓库data中的数据console.log(this.data.msg);// 修改数据仓库data中的数据,使用this.data的方式修改是不会重新渲染页面的,即页面不会同步更新,会造成数据不一致// 应使用 this.setData 修改就会同步渲染页面,使数据同步,// this.data.msg = '您好'this.setData({msg:'您好', // 如果已存在,则修改info:'信息' // 如果不存在,则新增});},/*** 其他:自定义的变量和函数*/user:{name:'leo',sex:'男'},show(){console.log('执行了关于页面的show方法......')},scrolltoupper(e){ // 事件对象console.log('滚动到顶部',e);},scrolltolower(e){console.log('滚动到底部',e)},chgSex(e){console.log(e.detail.value) // 获取选中radio的值},chglike(e){console.log(e.detail.value) // 获取选中checkbox值},binddatechg(e){this.setData({date:e.detail.value})},bindRegion(e){this.setData({region:e.detail.value})},bindCountry(e){this.setData({index:e.detail.value})},bindOpen(e){console.log(e.detail.value)},duSUbmit(e){console.log(e.detail.value)},doButton(e){console.log('单击普通按钮')}
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/11655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jmeter分布式集群压测

目的&#xff1a;通过多台机器同时运行 性能压测 脚本&#xff0c;模拟更好的并发压力 简单点&#xff1a;就是一个人&#xff08;控制机controler/调度机 master&#xff09;做一个项目的时候&#xff0c;压力有点大&#xff0c;会导致结果不理想&#xff0c;这时候找几个人&a…

OS复习笔记ch5-4-2

引言 承接上文我们介绍了信号量机制和应用信号量机制实现的进程同步和互斥&#xff0c;这一节我们将围绕一些经典问题对信号量机制展开更深入地探讨。 读者/写者问题 读者/写者问题与我们之前遇到的问题类型不同&#xff0c;它描述的是&#xff1a; 有读者和写者两组进程&am…

ohmyzsh的安装过程中失败拒绝连接问题的解决

1.打开官网Oh My Zsh - a delightful & open source framework for Zsh 在官网能看到下面的界面 有这两种自动安装的方式 个人本次选择的是: wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O - 1.打开终端输入安装的指令 sh -c "$(wget…

软件需求工程习题

1.&#xff08;面谈&#xff09;是需求获取活动中发生的需求工程师和用户间面对面的会见。 2.使用原型法进行需求获取&#xff0c;&#xff08;演化式&#xff09;原型必须具有健壮性&#xff0c;代码质量要从一开始就能达到最终系统的要求 3.利用面谈进行需求获取时&#xf…

K邻近算法

简介 介绍了非常简单的算法&#xff1a;K邻近算法&#xff0c;即KNN。 基本介绍 K-近邻算法&#xff08;K-Nearest Neighbors&#xff0c;简称KNN&#xff09;是一种基本且广泛应用的监督学习算法&#xff0c;主要用于分类和回归任务。 工作原理非常简答直观&#xff1a;所谓…

爆款小红书免费流量体系课程(两周变现),小红书电商教程

课程下载&#xff1a;小红书电商教程-课程网盘链接提取码下载.txt资源-CSDN文库 更多资源下载&#xff1a;关注我。 课程内容&#xff1a; 10-爆款标题(三段式取标题).mp3 11-爆款封面怎么作图.mp3 12-爆款内容的模板(三段式模板).mp3 13-小红书流量推荐背后的秘密(四大流…

数据结构与算法-排序算法1-冒泡排序

本文先介绍排序算法&#xff0c;然后具体写冒泡排序。 目录 1.排序算法简介 2.常见的排序算法分类如下图&#xff1a; 3.冒泡排序&#xff1a; 1.介绍&#xff1a; 2.动态图解 3.举例 4.小结冒泡排序规则 5.冒泡排序代码 6.优化 7.优化后时间 代码&#xff1a; 运…

讯方·智汇云校4月HCIE通过28人!证书量总计123!

智汇云校捷报 —4月华为认证证书量123本— 智汇云校4月IE捷报来了 讯方技术2024年PMP第一期3月考期顺利结班&#xff0c;考试全员通过~ 2024年4月&#xff0c;云校HCIA、HCIP、HCIE共通过123人&#xff01; 62人通过HCIA 33人通过HCIP 28人通过HCIE 祝贺以下学员通过HC…

simulink-仿真以及PID参数整定/PID tuner 的使用流程

控制器搭建与参数整定 搭建一个前馈PID控制器控制系统PID tuner使用 一个懂点控制但不多的小白&#xff0c;因为需要利用simulink仿真&#xff0c;所以不得不学习一些仿真的知识&#xff0c;这篇文章适合和我一样的新手入门&#xff0c;有理解错误的地方希望大手们能够指出来共…

Llama3-Tutorial(Llama 3 超级课堂)-- 笔记

第1节—Llama 3 本地 Web Demo 部署 端口转发 vscode里面设置端口转发 https://a-aide-20240416-b4c2755-160476.intern-ai.org.cn/proxy/8501/ ssh -CNg -L 8501:127.0.0.1:8501 rootssh.intern-ai.org.cn -p 43681参考 https://github.com/SmartFlowAI/Llama3-Tutorial/b…

ssm123基于java web的网上书城系统的设计与实现+vue

基于java web的网上书城系统的设计与实现vue 摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff0c;商品交易当然也不能排除在外&#xff0c;随着商品交易管理的不断成熟&#xff0c;它彻底改变了…

STM32学习和实践笔记(25):USART(通用同步、异步收发器)

一&#xff0c;STM32的USART简介 USART即通用同步、异步收发器&#xff0c;它能够灵活地与外部设备进行全双工数据交换&#xff0c;满足外部设备对工业标准 NRZ 异步串行数据格式的要求。 UART即通用异步收发器&#xff0c;它是在USART基础上裁剪掉了同步通信功能。 开发板上…

LeetCode 700.二叉搜索树中的搜索

LeetCode 700.二叉搜索树中的搜索 1、题目 题目链接&#xff1a;700. 二叉搜索树中的搜索 给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和一个整数值 val。 你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在&#xff0c;则…

Adobe使用常见问题解答,如何续费?

“Adobe系统状态”页上的颜色表示什么&#xff1f; Gray表示我们调查了潜在的服务中断并确定它没有影响。橙色表示轻微问题。红色表示严重问题。蓝色表示定期维护。绿色表示所有服务均运行正常。 如何查看以前的CSO或CMR&#xff1f; 导航到 https://status.adobe.com.单击所…

智能自助终端主板RK3288/RK3568在酒店前台自助机方案的应用,支持鸿蒙,支持免费定制

酒店前台自助机解决方案是一款基于自助服务终端&#xff0c;能够让客人通过简单的操作完成入住登记/退房的解决方案&#xff0c;大幅提高酒店的工作效率&#xff0c;提升客人体验&#xff0c;降低人力成本。 该方案解决了以下传统前台登记入住方式的痛点&#xff1a; 1、人流量…

MySQL 通过 systemd 启动时 hang 住了……

mysqld&#xff1a;哥&#xff0c;我起不来了…… 作者&#xff1a;贲绍华&#xff0c;爱可生研发中心工程师&#xff0c;负责项目的需求与维护工作。其他身份&#xff1a;柯基铲屎官。 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编…

佛山市组织开展2024年全市抗震救灾应急演练并召开相关部署会

为深入贯彻落实关于防灾减灾救灾重要论述精神和国家、省、市决策部署,提高佛山市应对地震灾害的抢险救灾实战能力,构建切实可行、快速反应、科学处置的抗震救灾应急救援工作体系,结合第16个全国防灾减灾日宣传主题,5月11日上午,佛山市组织开展2024年全市抗震救灾应急演练并召开…

计算机网络 3.3OSI参考模型

第三节 OSI参考模型 一、认识OSI/RM 1.描述&#xff1a;定义了一个连接异种计算机的标准主体结构&#xff0c;给网络设计者提供了一个参考规范。 2.组织&#xff1a;国际标准化组织. 3.发展&#xff1a;1979年研究并提出了该国际标准。 4.分层原则&#xff1a; ①层次的划…

d17(154-168)-勇敢开始Java,咖啡拯救人生

目录 方法递归 字符集 编码-解码 IO流 字节流 字节输入流 InputSream FileInputStream 字节输出流 OutputSream FileOutputSream 释放资源的方式 try-catch-finallly try-with-resource 字符流 字符输入流 Reader FileReader 文件字符输出流 Writer FileWriter …

达梦数据库 报错 数据类型不匹配

达梦数据库 报错 数据类型不匹配 背景描述问题分析问题处理方案1&#xff1a;方案2&#xff1a;TO_CHAR(str)CAST(value AS type)CONVERT(type,value)DBMS_LOB 包TEXT_EQUAL(n1,n2) 写在最后 背景描述 本文写于初接触到达梦(DM)数据库&#xff0c;之前没有用过&#xff0c;因此…