微信小程序学习——7.8【常见组件】

常见组件

重点讲解⼩程序中常⽤的布局组件
view,text,rich-text,button,image,navigator,icon,swiper,radio,checkbox 等

7.1 view

代替 原来的 div 标签

 <view hover-class="h-class">
  点击我试试
  </view>

7.2 text

  1. ⽂本标签
  2. 只能嵌套text
  3. ⻓按⽂字可以复制(只有该标签有这个功能)
  4. 可以对空格 回⻋ 进⾏编码
    在这里插入图片描述

代码:

<text selectable="{{false}}" decode="{{false}}">&nbsp;&lt;
</text>

7.3 image

  1. 图⽚标签,image组件默认宽度320px、⾼度240px
  2. ⽀持懒加载
    在这里插入图片描述
    mode 有效值:
    mode 有 13 种模式,其中 4 种是缩放模式,9 种是裁剪模式。
    在这里插入图片描述

7.4 Swiper轮播图

swiper标签:滑块视图容器
swiper-item标签:滑块,默认宽度和⾼度都是100%
在这里插入图片描述
示例代码:

<swiper autoplay="true" interval="2000" circular="true" indicator-dots="true" indicator-color="#0094ff" indicator-active-color="##ff0094">
  <swiper-item>
    <image src="//gw.alicdn.com/imgextra/i3/121/O1CN01d4N6Pw1ClSXpSiESc_!!121-0-lubanu.jpg"/>
  </swiper-item>
  <swiper-item>
    <image src="//gw.alicdn.com/imgextra/i1/198/O1CN01snMZj51DKj2eIkiDC_!!198-0-lubanu.jpg"/>
  </swiper-item>
  <swiper-item>
    <image src="https://img.alicdn.com/tps/i4/https://img.alicdn.com/tps/i4//TB1cZkvTeH2gK0jSZJnSuuT1FXa.jpg"/>
  </swiper-item>
</swiper>

swiper {
  width: 100%;
  height: calc(100vw*352/1125);
  /* height: 31.28vw; */
}
image {
  width: 100%;
}

7.5 navigator导航栏

  • 导航组件,类似超链接标签
  • 块级元素,默认会换行,可直接加宽度和高度
    在这里插入图片描述

open-type属性有效值:
在这里插入图片描述

代码示例:

<text>pages/search/search.wxml</text>
<navigator url="/pages/logs/logs">日志页面</navigator>
<navigator url="/pages/index/index">跳转tabbar页面</navigator>
<navigator open-type="redirect" url="/pages/logs/logs">日志页面 redirect</navigator>
<navigator open-type="switchTab" url="/pages/index/index">switchTab 跳转到tabbar页面</navigator>
<navigator open-type="reLaunch" url="/pages/img/img">reLaunch 可以随便跳</navigator>

7.6 rich-text

富文本标签:可以将字符串解析成对应标签,类似 vue中 v-html 功能
代码示例:

<!-- 显示斜体hello world -->
<rich-text nodes="<i> hello world </i>"></rich-text>

nodes属性
nodes 属性⽀持 字符串 和 标签节点数组
在这里插入图片描述

7.7 button

在这里插入图片描述

7.8 icon

在这里插入图片描述

<!-- search.wxml -->
<view class="group">
  <block wx:for="{{iconSize}}">
    <icon type="success" size="{{item}}"/>
  </block>
</view>
 
<view class="group">
  <block wx:for="{{iconType}}">
    <icon type="{{item}}" size="40"/>
  </block>
</view>
 
<view class="group">
  <block wx:for="{{iconColor}}">
    <icon type="success" size="40" color="{{item}}"/>
  </block>
</view>

// pages/search/search.js
Page({
  data: {
   iconSize: [20, 30, 40, 50, 60, 70],
   iconType: [
     'success', 'success_no_circle', 'info', 'warn', 'waiting', 'cancel', 
'download', 'search', 'clear'
   ],
   iconColor: [
     'red', 'orange', 'yellow', 'green', 'rgb(0,255,255)', 'blue', 'purple'
   ],
  }
})

7.9 radio

  • 可以通过 color属性来修改颜色
  • 需要搭配 radio-group ⼀起使用
<radio-group bindchange="handleChange">
  <radio color="red" value="male"></radio>
  <radio color="red" value="female"></radio>
</radio-group>
<view>单选框选中的是{{gender}}</view>

Page({
  data() {
    gender: ''
  },
  handleChange(e) {
    console.log(e);
    let gender = e.detail.value
    this.setData({
      // gender:gender
      gender
    })
  }
})

7.10 checkbox

  • 可以通过 color属性来修改颜色
  • 需要搭配 checkbox-group ⼀起使用
<checkbox-group bindchange="handleItemChange">
  <checkbox value="{{item.value}}" wx:for="{{list}}" wx:key="id">{{item.name}}</checkbox>
</checkbox-group>
<view>选中的水果有{{checkedList}}</view>

Page({
  data: {
    list:[
      {id:0,name:"苹果",value:"apple"},
      {id:1,name:"葡萄",value:"grape"},
      {id:2,name:"香蕉",value:"banana"},
    ],
    checkedList: ''
  },
  handleItemChange(e) {
    console.log(e);
    const checkedList = e.detail.value
    this.setData({
      checkedList
    })
  }
})

八、自定义组件

类似vue或者react中的自定义组件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值