当前位置:网站首页>简易版 微信小程序开发之for指令、上传图片及展示效果优化
简易版 微信小程序开发之for指令、上传图片及展示效果优化
2022-07-03 03:23:00 【水w】
目录
五、for指令
编写goods页面
(1)wxml
内部相当于帮我们做了一个“for item in dataList” 循环
<!--pages/goods/goods.wxml-->
<text>商品列表</text>
<view>
<view wx:for="{
{ dataList }}">{
{index}}-{
{item}}</view>
</view>
<view>
<view wx:for="{
{ UserInfo }}">{
{index}}-{
{item}}</view>
</view>
或
<!--pages/goods/goods.wxml-->
<text>商品列表</text>
<view>
<view wx:for="{
{ dataList }}" wx:for-index="idx" wx:for-item="x">{
{idx}}-{
{x}}</view>
</view>
<view>
<view wx:for="{
{ UserInfo }}" wx:for-index="idx" wx:for-item="x">{
{idx}}-{
{x}}</view>
</view>
(2)js
// pages/goods/goods.js
Page({
/**
* 页面的初始数据
*/
data: {
dataList: ["输入","色佛诞日","生日歌"],
UserInfo: {
name:"alex",
age: 18,
gender: false
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})
展示效果:
六、上传图片
编写home页面:
(1)wxml
<!--pages/home/home.wxml-->
<view class="menu">
<view class="item">
<image src="/static/link-01.png"></image>
<text>精品</text>
</view>
<view class="item">
<image src="/static/link-01.png"></image>
<text>精品</text>
</view>
<view class="item">
<image src="/static/link-01.png"></image>
<text>精品</text>
</view>
<view class="item">
<image src="/static/link-01.png"></image>
<text>精品</text>
</view>
</view>
<navigator url="/pages/list/list?id=566">跳转页面</navigator>
<view bindtap="uploadImage">请上传图片:</view>
<view class="images">
<image wx:for="{
{images}}" src="{
{item}}"></image>
</view>
(2)js
// pages/home/home.js
Page({
/**
* 页面的初始数据
*/
data: {
images: ["/images/link-01.png","/images/link-02.png","/images/默认头像.jpeg"]
},
uploadImage() {
wx.chooseImage({
count: 9,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success:function(res) {
console.log(res)
}
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})
(3)wxss
/* pages/home/home.wxss */
image {
width: 100rpx;
height: 100rpx;
border-radius: 50rpx;
}
.menu {
display: flex;
/* 在水平方向排列 ,规定主轴方向*/
flex-direction: row;
/* 元素在水平方方向如何展示,规定在主轴方向如何展示:center */
justify-content: space-around;
}
.menu .item {
display: flex;
flex-direction: column;
align-items: center;
}
.images {
width: 200rpx;
height: 200rpx;
padding: 5rpx;
}
展示效果:
(1)点击“请选择图片”之后,会弹出一个选择页面 ,
(2)在弹出的选择页面 ,选择图片之后,console中会打印出选择的图片信息。
展示效果优化1:
(3)此时,我们修改uploadImage()函数,为了可以使我们选择的图片上传展示到页面上,
data: {
images: ["/images/link-01.png","/images/link-02.png","/images/默认头像.jpeg"]
},
uploadImage() {
var that = this
wx.chooseImage({
count: 9,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success:function(res) {
console.log(res)
that.setData({images: res.tempFilePaths})
}
})
},
(4)重新编译,点击“请选择图片”之后,在弹出的选择页面选择图片,
点击“打开”之后,页面的展示效果为,
展示效果优化2:
(3)此时,我们修改uploadImage()函数,为了可以使我们选择的图片可以上传展示到页面已有的图片之后,
data: {
images: ["/images/link-01.png","/images/link-02.png","/images/默认头像.jpeg"]
},
uploadImage() {
var that = this
wx.chooseImage({
count: 9,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success:function(res) {
console.log(res)
// 设置images,页面上的图片自动修改
// that.setData({images: res.tempFilePaths})
// 默认图片 + 选择的图片
that.setData({images: that.data.images.concat(res.tempFilePaths)})
}
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
(4)重新编译,点击“请选择图片”之后,在弹出的选择页面选择图片,
点击“打开”之后,页面的展示效果为,
边栏推荐
- The series of hyperbolic function in daily problem
- Elsevier latex submitted the article pdftex def Error: File `thumbnails/cas-email. jpeg‘ not found: using draf
- PAT乙级“1104 天长地久”DFS优化思路
- 基于Qt的yolov5工程
- PAT乙级常用函数用法总结
- C# WebRequest POST模式 ,基于“Basic Auth”口令认证模式,使用multipart/form-data方式上传文件及提交其他数据
- VS 2019配置tensorRT
- MongoDB基本操作【增、删、改、查】
- MySQL practice 45 lecture [row lock]
- node,npm以及yarn下载安装
猜你喜欢
Pat class B "1104 forever" DFS optimization idea
Stop using system Currenttimemillis() takes too long to count. It's too low. Stopwatch is easy to use!
Mongodb replication set [master-slave replication]
【PyG】理解MessagePassing过程,GCN demo详解
docker安装及启动mysql服务
Idea set method call ignore case
MongoDB簡介
Avec trois. JS fait une scène 3D simple
Nce detail of softmax approximation
Unity3d RPG implementation (medium)
随机推荐
【PyG】理解MessagePassing过程,GCN demo详解
二维数组中的元素求其存储地址
VS克隆时显示403错误
PAT乙级“1104 天长地久”DFS优化思路
ffmpeg之 一张/多张图片合成视频
MongoDB簡介
Anhui University | small target tracking: large-scale data sets and baselines
[MySQL] the difference between left join, right join and join
Pytorch轻量级可视化工具wandb(local)
Vs 2019 configuration tensorrt
程序员新人上午使用 isXxx 形式定义布尔类型,下午就被劝退?
解决高並發下System.currentTimeMillis卡頓
Edit and preview in the back pipe to get the value writing method of the form
PHP constructor with parameters - PHP constructor with a parameter
Ansible introduction [unfinished (semi-finished products)]
Compare float with 0
MySql实战45讲【索引】
[pyg] understand the messagepassing process, GCN demo details
Why does thread crash not cause JVM crash
[mathematical logic] propositions and connectives (propositions | propositional symbolization | truth connectives | no | conjunction | disjunction | non truth connectives | implication | equivalence)