微信小程序基礎 -- 小程序UI組件(5)

小程序UI組件

1.小程序UI組件概述

開發文檔:https://developers.weixin.qq.com/miniprogram/dev/framework/view/component.html
什么是組件:

  • 組件是視圖層的基本組成單元。

  • 組件自帶一些功能與微信風格一致的樣式。

  • 一個組件通常包括 開始標簽 和 結束標簽 , 屬性 用來修飾這個組件, 內容 在兩個標簽之內。

  • 這里的組件通俗的講就是標簽

      <tagname property="value">Content goes here ...</tagname>
    

注意:所有組件與屬性都是小寫,以連字符 - 連接

1.1 屬性值類型

在這里插入圖片描述

1.2 公共屬性

所有組件都有以下屬性:
在這里插入圖片描述

1.3 特殊屬性

幾乎所有組件都有各自定義的屬性,可以對該組件的功能或樣式進行修飾,請參考各個組件的定義。

2. 視圖容器

2.1 view 組件

view 也被稱為視圖容器。相當于 html 中的 div 標簽。
開發文檔:https://developers.weixin.qq.com/miniprogram/dev/component/view.html

2.2 swiper 與swiper-item

滑塊視圖容器。其中只可放置swiper-item組件,否則會導致未定義的行為。

在這里插入圖片描述

案例:使用 swiper 滑塊實現輪播圖

1.配置app.json ,實現新建swiper頁面

在這里插入圖片描述
2.swiper.wxml 設計界面結構

<!--pages/swiper/swiper.wxml-->
<!-- 輪播圖開始 -->
<view class="index_swiper"><swiper autoplay indicator-dots circular><swiper-item wx:for="{{swiperList}}"><image mode="widthFix" src="{{item}}"></image></swiper-item></swiper>
</view>
<!-- 輪播圖 結束 -->

3.swiper.wxss 設計樣式

/* pages/swiper/swiper.wxss */
.index_swiper swiper {width: 750rpx;height: 340rpx;
}
.index_swiper swiper image {width: 100%;
}

4.swiper.js 文件中構建代碼

// pages/swiper/swiper.js
Page({data: {
// 輪播圖數組swiperList: ["/images/img/banner1.png", "/images/img/banner2.png","/images/img/banner3.png"],},
})

5.效果如下圖所示
在這里插入圖片描述

2.3 scroll-view

可滾動視圖區域。使用豎向滾動時,需要給scroll-view一個固定高度,通過 WXSS 設置 height

3.基礎內容組件

3.1 圖標icon

圖標。組件屬性的長度單位默認為px,2.4.0起支持傳入單位(rpx/px)。

開發文檔:https://developers.weixin.qq.com/miniprogram/dev/component/icon.html

案例:

1.創建bcontent 基礎組件頁面
2.bcontent.wxml

<Label>-------------圖標icon----------</Label>
<view wx:for="{{iconInfos}}"><icon color="{{item.color}}" type="{{item.iconType}}" size="{{item.iconSize}}"></icon>
</view>

3.bcontent.js

Page({data: {iconInfos: [{"iconSize": 14,"color": "red",iconType: "success"}, {"iconSize": 23,"color": "orange",iconType: "success_no_circle"}, {"iconSize": 23,"color": "yellow",iconType: "info"}, {"iconSize": 46,"color": "green",iconType: "warn"}, {"iconSize": 46,"color": "rgb(0,255,255)",iconType: "waiting"}, {"iconSize": 93,"color": "blue",iconType: "cancel"}, {"iconSize": 93,"color": "purple",iconType: "download"}]}
})

4.效果如小圖所示
在這里插入圖片描述

3.2 文本text

文本

開發文檔:https://developers.weixin.qq.com/miniprogram/dev/component/text.html

3.3 富文本rich-text

富文本

開發文檔:https://developers.weixin.qq.com/miniprogram/dev/component/rich-text.html
在這里插入圖片描述
space 的合法值
在這里插入圖片描述

案例:

1.wxml 文件

<Label>-------------富文本rich-text---------</Label>
<view><text>{{htmlSnip}}</text></view>
<view><rich-text nodes="{{htmlSnip}}"></rich-text>
</view>

2.wxjs文件

const htmlSnip =
<div class="div_class"><h1>Title</h1><p style="color:red">Life is&nbsp;<i>like</i>&nbsp;a box of<b>&nbsp;chocolates</b>.</p>
</div>`
Page({data: {htmlSnip}
})

3.效果
在這里插入圖片描述

4.表單組件

4.1 form 表單組件

表單

當點擊 form 表單中 form-type 為 submit 的 button 組件時,會將表單組件中的 value 值進行提交,
需要在表單組件中加上 name 來作為 key。
開發文檔:https://developers.weixin.qq.com/miniprogram/dev/component/form.html

4.2 button按鈕

按鈕

開發文檔:https://developers.weixin.qq.com/miniprogram/dev/component/button.html

4.3 input輸入框組件

輸入框

開發文檔:https://developers.weixin.qq.com/miniprogram/dev/component/input.html

4.4 checkbox

復選框

開發文檔:https://developers.weixin.qq.com/miniprogram/dev/component/checkbox.html

4.5 radio

單選按鈕

開發文檔:https://developers.weixin.qq.com/miniprogram/dev/component/radio.html

4.6 slider

滑動選擇器

開發文檔: https://developers.weixin.qq.com/miniprogram/dev/component/slider.html

4.7 switch

開關選擇器

開發文檔:https://developers.weixin.qq.com/miniprogram/dev/component/switch.html

表單案例:

1.添加form頁面
2.wxml文件

<view><form catchsubmit="formSubmit" catchreset="formReset"><view><view>switch</view><switch name="switch" /></view><view><view>radio</view><radio-group name="radio"><label><radio value="radio1" />選項一</label><label><radio value="radio2" />選項二</label></radio-group></view><view><view>checkbox</view><checkbox-group name="checkbox"><label><checkbox value="checkbox1" />選項一</label><label><checkbox value="checkbox2" />選項二</label></checkbox-group></view><view><view>slider</view><slider value="50" name="slider" show-value></slider></view><view><view>input</view><view style="margin: 30rpx 0"><input name="input" placeholder="這是一個輸入框" /></view></view><view><button style="margin: 30rpx 0" type="primary"formType="submit">Submit</button><button style="margin: 30rpx 0" formType="reset">Reset</button></view></form>
</view>

3.wxjs文件

formSubmit(e){
console.log('form發生了submit事件,攜帶數據為:', e.detail.value)
},

4.效果如下圖所示
在這里插入圖片描述

5.導航

5.1 navigator

導航,跳轉

開發文檔:https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html
在這里插入圖片描述

target 的合法值
在這里插入圖片描述

open-type 的合法值
在這里插入圖片描述

提示:

  • open-type的值如果設置為navigate則可以擁有回退按鈕;如果設置為redirect則沒有回退按鈕
  • navigate、redirect這兩值和switchTab這個值的區別在于前面兩個不能跳轉到帶tabBar的頁面;
    而switchTab可以
案例:

1.創建nav導航頁面
2.nav.wxml

<!--pages/nav/nav.wxml-->
<!-- 假如跳轉到tabbar關聯的頁面,則需open-type="switchTab" -->
<navigator url="/pages/index/index" open-type="switchTab">跳轉到tab首頁</navigator><!-- open-type="navigate" 擁有回退按鈕 -->
<navigator url="/pages/tap/tap" open-type="navigate">跳轉到tap首頁</navigator>
<navigator url="/pages/bcontent/bcontent" open-type="redirect">跳轉到基本bcontent頁</navigator>
<view bind:tap="tapEnterForm">通過事件代碼進入視圖容器頁</view>

3.nav.js

Page({data: {},onLoad: function (options) {},tapEnterForm:function() {wx.navigateTo({url: '/pages/container/container',})}
})

6.媒體組件

6.1 image

圖片。支持 JPG、PNG、SVG、WEBP、GIF 等格式,2.3.0 起支持云文件ID

開發文檔:https://developers.weixin.qq.com/miniprogram/dev/component/image.html
在這里插入圖片描述

mode 的合法值 : 圖片的填充方式
在這里插入圖片描述

提示:

  1. image組件默認寬度320px、高度240px
  2. image組件中二維碼/小程序碼圖片不支持長按識別。僅在wx.previewImage中支持長按識別

6.2 camera

系統相機, 掃碼二維碼功能

開發文檔:https://developers.weixin.qq.com/miniprogram/dev/component/camera.html
在這里插入圖片描述

mode 的合法值
在這里插入圖片描述

resolution 的合法值
在這里插入圖片描述

提示:
同一頁面只能插入一個 camera 組件

案例

1.添加media頁面
2.media.wxml

<!-- camera.wxml -->
<camera style="width: 100%; height: 300px;" mode="normal"></camera>
<button type="primary" bindtap="takePhoto">拍照</button>
<view>預覽</view>
<image mode="widthFix" src="{{src}}"></image>

3.media.js

Page({data: {},onLoad: function (options) {},takePhoto() {const ctx = wx.createCameraContext()ctx.takePhoto({quality: 'high',success: (res) => {this.setData({src: res.tempImagePath})}})},
})

6.3 video

視頻

開發文檔:https://developers.weixin.qq.com/miniprogram/dev/component/video.html
在這里插入圖片描述
支持的格式:兼容性才更好 , 版權 轉成這種格式
在這里插入圖片描述
支持的編碼格式
在這里插入圖片描述
media.wxml

<video autoplay loop controls="{{false}}"
src="http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?
filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204
012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4
ff02024ef202031e8d7f02030f42400204045a320a0201000400"
></video>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/16057.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/16057.shtml
英文地址,請注明出處:http://en.pswp.cn/web/16057.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Cyber Weekly #8

賽博新聞 1、微軟召開年度發布會Microsoft Build 2024 本周&#xff08;5.22&#xff09;微軟召開了年度發布會&#xff0c;Microsoft Build 2024&#xff0c;發布了包括大殺器 Copilot Studio 在內的 50 項更新。主要包括&#xff1a; 硬件層面&#xff1a;與英偉達 & A…

3D牙科網格分割使用基于語義的特征學習與圖變換器

文章目錄 3D Dental Mesh Segmentation Using Semantics-Based Feature Learning with Graph-Transformer摘要方法實驗結果 3D Dental Mesh Segmentation Using Semantics-Based Feature Learning with Graph-Transformer 摘要 本文提出了一種新穎的基于語義的牙科網格分割方…

民國漫畫雜志《時代漫畫》第16期.PDF

時代漫畫16.PDF: https://url03.ctfile.com/f/1779803-1248612470-6a05f0?p9586 (訪問密碼: 9586) 《時代漫畫》的雜志在1934年誕生了&#xff0c;截止1937年6月戰爭來臨被迫停刊共發行了39期。 ps:資源來源網絡&#xff01;

代碼隨想錄訓練營總結

歷經60天的訓練營終于結束啦&#xff0c;感覺自己兩個月前做的這個決定非常正確&#xff0c;非常感謝卡哥和卡哥助手&#xff0c;從一個代碼沒有系統刷題沒有體系的小白到現在已經有了一些基礎&#xff0c;也具備一些刷題的習慣和手感&#xff0c;如果是我自己沒有規劃的刷可能…

【C++】二分查找:在排序數組中查找元素的第一個和最后一個位置

1.題目 難點&#xff1a;要求時間復雜度度為O(logn)。 2.算法思路 需要找到左邊界和右邊界就可以解決問題。 題目中的數組具有“二段性”&#xff0c;所以可以通過二分查找的思想進行解題。 代碼&#xff1a; class Solution { public:vector<int> searchRange(vect…

Camunda BPM主要組件

Camunda BPM是使用java開發的,核心流程引擎運行在JVM里,純java庫,不依賴其他庫或者底層操作系統。可以完美地與其他java框架融合,比如Spring。除了核心流程引擎外,還提供了一系列的管理,操作和監控工具。 1,工作流引擎 既適用于服務或者微服務編排,也適用于人工任務管…

Leetcode42題:接雨水

1.題目描述 給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖&#xff0c;計算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例1&#xff1a; 輸入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 輸出&#xff1a;6 解釋&#xff1a;上面是由數組 [0,1,0,2,1,0,1,…

hadoop節點添加與刪除測試

hadoop節點上下線 docker run -d --name hd1 -p 8888:8888 -p 2222:22 centos:basic init docker run -d --name hd2 -p 8889:8889 centos:basic init docker run -d --name hd3 centos:basic init# hosts echo "172.17.0.2 hadoop1 172.17.0.3 hadoop2 172.17.0.4 hadoo…

網絡協議:CSMA/CD 和 CSMA/CA

當多臺設備共享同一通信信道時&#xff0c;避免數據傳輸沖突至關重要。本文將探討兩種廣泛使用的協議&#xff1a;CSMA/CD&#xff08;Carrier Sense Multiple Access with Collision Detection&#xff09;和CSMA/CA&#xff08;Carrier Sense Multiple Access with Collision…

【C語言】二叉樹的實現

文章目錄 前言?一、二叉樹的定義&#x1f6b2;二、創建二叉樹&#x1f3a1;三、二叉樹的銷毀&#x1f389;四、遍歷二叉樹1. 前序遍歷2. 中序遍歷3. 后序遍歷4. 層序遍歷 &#x1f332;五、二叉樹的計算1. 計算二叉樹結點個數2. 計算二叉樹葉子結點的個數3. 計算二叉樹的深度4…

一、Elasticsearch介紹與部署

目錄 一、什么是Elasticsearch 二、安裝Elasticsearch 三、配置es 四、啟動es 1、下載安裝elasticsearch的插件head 2、在瀏覽器&#xff0c;加載擴展程序 3、運行擴展程序 4、輸入es地址就可以了 五、Elasticsearch 創建、查看、刪除索引、創建、查看、修改、刪除文檔…

【MySQL】——并發控制

&#x1f4bb;博主現有專欄&#xff1a; C51單片機&#xff08;STC89C516&#xff09;&#xff0c;c語言&#xff0c;c&#xff0c;離散數學&#xff0c;算法設計與分析&#xff0c;數據結構&#xff0c;Python&#xff0c;Java基礎&#xff0c;MySQL&#xff0c;linux&#xf…

計算機畢業設計 | springboot+vue房屋租賃管理系統(附源碼)

1&#xff0c;緒論 1.1 課題來源 隨著社會的不斷發展以及大家生活水平的提高&#xff0c;越來越多的年輕人選擇在大城市發展。在大城市發展就意味著要在外面有一處安身的地方。在租房的過程中&#xff0c;大家也面臨著各種各樣的問題&#xff0c;比如需要費時費力去現場看房&…

oj項目后端分析

1.菜單管理 我們菜單管理有菜單表(sys_menu)&#xff0c;還有用戶角色表&#xff08;sys_role&#xff09;&#xff0c;菜單表是用于管理我們用戶所擁有的權限&#xff0c;不同的用戶所看到的頁面是不一樣的&#xff0c;由于一些用戶他能夠看到題庫管理和考題管理&#xff0c;還…

Anaconda Anaconda支持什么編程語言的環境配置

Anaconda是一個數據科學和機器學習的開發環境&#xff0c;它支持多種編程語言的環境配置&#xff0c;包括&#xff1a; Python&#xff1a;Anaconda默認安裝了Python和必需的Python庫&#xff0c;可以方便地進行Python編程和數據分析。 R&#xff1a;Anaconda也可以配置R語言環…

Aws EC2 + Aws Cli + Terraform

1 什么是 Terraform&#xff1f; Terraform 是由 HashiCorp 創建的“基礎架構即代碼”(Infrastructure-as-Code&#xff0c;IaC)開源工具。Terraform 的配置語言是 HashiCorp Configuration Language&#xff08;HCL&#xff09;&#xff0c;用來替代更加冗長的 JSON 和 XML 等…

SpringBoot注解--09--idea創建spring boot項目,java版本只能選擇17和21

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 idea創建spring boot項目1.問題描述2.原因3.解決方法方案一&#xff1a;升級JDK版本至17或更高方案二&#xff1a;替換Spring初始化的源https://start.aliyun.com i…

實時計算及異構計算隨筆筆記

3、異構計算的典型應用 異構計算并不神秘&#xff0c;目前已滲透各個領域&#xff0c;不僅是PC領域&#xff0c;也包括了手持移動設備領域、行業領域&#xff0c;甚至是云計算、分布式計算領域。事實上&#xff0c;異構計算至少在應用端&#xff08;前臺&#xff09;并不像它的…

Android 運行時權限

Android 6.0 及以后&#xff0c;如果你的應用需要用到一些危險權限&#xff0c;那么這些權限必須手動申請。 具體危險權限有哪些&#xff0c;可以通過下面這篇文章自行查詢到&#xff1a; 使用 adb 命令列出設備所有危險權限 例如&#xff0c;讀寫文件就涉及到兩個危險權限&am…

Unity 中獲取調用者方法名

介紹 在 Unity 開發中&#xff0c;有時需要在代碼中獲取當前方法的調用者方法名&#xff0c;以便進行日志記錄、調試等操作。本教程將詳細介紹如何使用 C# 中的 StackTrace 類來實現這一功能&#xff0c;并將其封裝成一個便捷的工具類&#xff0c;以方便在項目中的任何地方…