微信小程序之左右布局的实现代码


Posted in Javascript onDecember 13, 2019

本文以一个简单的小例子,简述在微信小程序开发中左右布局功能的实现方式,主要涉及scroll-view ,列表数据绑定,及简单样式等内容,仅供学习分享使用。

概述

在微信小程序开发中,左右分栏(左边显示分类,右边显示明细,然后进行联动)是一种常见的布局方式,多应用于点餐,冷饮店,外卖,以及其他类似的商城。

布局分析

布局分析图示如下:

微信小程序之左右布局的实现代码

涉及知识点

  • scroll-view 可滚动视图区域。使用竖向滚动时,需要给<scroll-view>一个固定高度,通过 WXSS 设置 height。组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px)。
  • scroll-y 是否允许纵向滚动,默认false。
  • scroll-into-view 值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素(动态更新该属性的值,实现左右联动)。
  • view 基础控件。
  • hover-class 设置指定按下去的样式类。当 hover-class="none" 时,没有点击态效果。
  • wx:for 在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item。
  • bindtap='showItem' 绑定组件的单击事件,不加括弧。

示例效果图

示例效果图如下所示:

微信小程序之左右布局的实现代码

核心代码

WXML代码如下:

<!--pages/show/show.wxml-->
<view class="show-info">
 <scroll-view class='left' scroll-y>
  <view class="jy-item" wx:for="{{jytype}}" wx:key="id" hover-class="jy-item-hover" wx:for-item="item" bindtap='showItem' data-id="{{item.id}}">
   <image src="{{item.url}}"></image>
   <label>{{item.name}}</label>
  </view>
 </scroll-view>
 <scroll-view class='right' scroll-y scroll-into-view="{{viewId}}">
  <view class="jy-detail" wx:for="{{jydetail}}" wx:key="id" id= "D-{{detail.typeid}}-{{detail.id}}" wx:for-item="detail" bindtap='showDetail' data-id="{{detail.id}}">
   <image src="{{detail.url}}"></image>
   <label>{{detail.name}}</label>
  </view>
 </scroll-view>
</view>

JS代码如下:

showItem: function(event) {
  var that=this;
  var viewId = "D-" + event.currentTarget.dataset.id + "-" + event.currentTarget.dataset.id+"00";
  that.setData({
   viewId: viewId
  });
  console.log(viewId);
 },

WXSS布局如下,此处主要用到了盒子布局(display: flex;flex-direction: row;):

.show-info {
 height: 100%;
 display: flex;
 flex-direction: row;
 align-items: flex-start;
 padding: 10rpx 0;
 box-sizing: border-box;
}

.left {
 width: 30%;
 height: 100%;
 display: flex;
 flex-direction: column;
 margin:2px;
}

.jy-item-hover{
 border: none;
}

.right {
 width: 70%;
 height: 1200rpx;
 display: flex;
 flex-direction: column;
 margin: 2px;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
$.ajax json数据传递方法
Nov 19 Javascript
JavaScript 未结束的字符串常量常见解决方法
Jan 24 Javascript
JavaScript定义类或函数的几种方式小结
Jan 09 Javascript
Javascript全局变量var与不var的区别深入解析
Dec 09 Javascript
触屏中的JavaScript事件分析
Feb 06 Javascript
JS实现的文字与图片定时切换效果代码
Oct 06 Javascript
js html5 css俄罗斯方块游戏再现
Oct 17 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
May 20 Javascript
Angularjs中数据绑定的实例详解
Aug 25 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
Sep 10 Javascript
JavaScript实现修改伪类样式
Nov 27 Javascript
JS实现的集合去重,交集,并集,差集功能示例
Mar 13 Javascript
vue实现输入一位数字转汉字功能
Dec 13 #Javascript
小程序登录之支付宝授权的实现示例
Dec 13 #Javascript
小程序使用wxs解决wxml保留2位小数问题
Dec 13 #Javascript
微信小程序点击保存图片到本机功能
Dec 13 #Javascript
微信小程序实现轨迹回放的示例代码
Dec 13 #Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
Dec 13 #Javascript
vue中使用elementUI组件手动上传图片功能
Dec 13 #Javascript
You might like
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
PHP批量查询WordPress留言者E-mail地址实现方法
2015/02/15 PHP
php计算两个日期相差天数的方法
2015/03/14 PHP
PHP+MySQL之Insert Into数据插入用法分析
2015/09/27 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
JavaScript获得选中文本内容的方法
2008/12/02 Javascript
jQuery 获取和设置select下拉框的值实现代码
2013/11/08 Javascript
kindeditor修复会替换script内容的问题
2015/04/03 Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
2015/08/07 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
Vue与React的区别和优势对比
2020/12/18 Vue.js
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
领先的荷兰线上超市:荷兰之家Holland at Home(支持中文)
2021/01/21 全球购物
西班牙品牌鞋子、服装和配饰在线商店:Esdemarca
2021/02/17 全球购物
c++工程师面试问题
2013/08/04 面试题
教师自荐信
2013/12/10 职场文书
保安拾金不昧表扬信
2014/01/15 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
大学生演讲稿
2014/04/25 职场文书
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
商务司机岗位职责
2015/04/10 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书
五年级作文之想象作文
2019/10/30 职场文书
600字作文之感受大自然
2019/11/27 职场文书