微信 小程序组件 分页菜单带下划线焦点切换

<view class="container">

<!-- menue -->

<view class="aside flex">

<block wx:key="navList" wx:for="{{navList}}">

<view class="type-nav flexca" bindtap="selectNav" data-index="{{index}}" data-id="{{item.id}}">

<view class=‘flexda‘>

<text class="{{curNav == item.id ? ‘selected‘ : ‘‘}}">{{item.name}}</text>

<view class="{{curNav == item.id ? ‘selected‘ : ‘‘}}"></view>

</view>

</view>

</block>

</view>

<!-- content -->

<view class="content">

<block wx:key="ishesList" wx:for="{{dishesList[curIndex]}}">

<view class="dish " data-dish="{{item.id}}">

<view>

<text class="title">{{item.name}}</text>

<p>¥{{item.price}}</p>

</view>

</view>

</block>

</view>

</view>

//------------------------------------------

.aside{

border-bottom: 1px solid #f7f7f7;

}

.type-nav{

width: 33.33%;

/* text-align: center; */

height: 88rpx;

">#fff;

}

.type-nav>view text{

color: #333;

margin-bottom: 20rpx;

margin-top: 10rpx;

font-size: 34rpx;

}

.type-nav>view view{

width: 48rpx;

border-bottom: 4rpx solid transparent;

}

.aside .type-nav>view .selected{

color: #19ad17;

border-color: #19ad17;

}

//----------------------------------------------------------

data: {

curNav: 1,

curIndex: 0,

navList: [

{

id: 1,

name: ‘已预约‘

},

{

id: 2,

name: ‘已消费‘

},

{

id: 3,

name: ‘已取消‘

},

],

dishesList: [

[

{

name: "红烧肉",

price: 38,

num: 1,

id: 1

}

],

[

{

name: "小炒日本豆腐",

price: 18,

num: 1,

id: 3

}

],

[

{

name: "大拌菜",

price: 18,

num: 1,

id: 5

}

]

],

},

// 分页菜单函数

selectNav: function (e) {

// console.log(e.currentTarget.dataset.id)

let id = e.currentTarget.dataset.id,

index = parseInt(e.currentTarget.dataset.index);

self = this;

this.setData({

curNav: id,

curIndex: index

})

},

时间: 2024-08-04 10:19:41

微信 小程序组件 分页菜单带下划线焦点切换的相关文章

微信 小程序组件 分页菜单

HML***************** <view class="container flex-wrap flex-direction-row"> <!-- left aside --> <view class="aside flex-wrap flex-direction-col"> <block wx:key="navList" wx:for="{{navList}}">

微信小程序怎么用?线下商家最适合玩小程序

随着微信小程序不断地释放新功能,许多行业越来越关注小程序,目前已经有不少餐饮和线下传统零售企业开始谋划利用好小程序.但是,线下商业有着复杂的场景,如何针对自己行业的特点和需求开发出属于自己的小程序,是摆在商家面前的一道难题. 公众号+小程序 在小程序诞生之前,很多企业纷纷将公众号作为O2O升级的重要渠道,但公众号的内容属性让它更侧重企业与用户建立线上的连接,而用完即走的小程序则被微信寄予连接更多的线下服务和场景,它将成为线下商业的最大入口,带来新零售的变革. 于是,微信将公众号与小程序连接在一起

微信小程序组件化(上)

小程序对组件化的"支持"情况 微信小程序(以下简称"小程序",版本)虽然默认定义了很多有用的组件,但是在开发小程序过程中,往往需要自定义业务组件.而小程序开发者文档中却未对自定义组件给出很好的解决方案或示例. 猜其原因可能有两方面: 从小程序开放的API来看,它去除了DOM和BOM,视图与数据层交互采用简单的单向数据绑定和事件绑的形式.可能其初衷是想降低开发难度和学习门槛,尽量减少概念. 小程序推出时间不到一年,这些功能可能还在完善中. 自定义组件的难点 微信的组件

微信小程序组件解读和分析:五、text文本

text文本组件说明: text 文本就是微信小程序中显示出来的文本. text文本组件的示例代码运行效果如下: 下面是WXML代码: [XML] 纯文本查看 复制代码 ? 1 2 3 4 <view > <text>我是文本组件</text> </view> <text>{{text}}</text> 下面是JS代码: [JavaScript] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 1

微信小程序组件解读和分析:六、progress进度条

progress进度条组件说明: 进度条,就是表示事情当前完成到什么地步了,可以让用户视觉上感知事情的执行.progress进度条是微信小程序的组件,和HTML5的进度条progress类似. progress进度条组件示例代码运行效果如下: 下面是WXML代码: [XML] 纯文本查看 复制代码 ? 1 2 3 4 5 <!--index.wxml--> <view class="content">     <text class="con-t

微信小程序组件通信

父子通信 在子组件的对应js中 properties:{ prop名字:数据类型, prop名字:{ type:数据类型, value:默认值 } } 在父组件的wxml模板中找到子组件标签 <子组件 prop名字='值'></子组件> 2.子父通信 在子组件对应的元素身上绑定原生事件 <button bindtap = 'tapHandler'></button> // 在函数中,触发自定义事件 tapHandler(){ this.triggerEven

微信小程序上拉加载下拉刷新

微信小程序实现上拉加载下拉刷新 使用小程序默认提供方法. (1). 在xxx.json 中开启下拉刷新,需要设置backgroundColor,或者是backgroundTextStyle ,因为加载的动画可能会是白色背景,会看不清. { "usingComponents": { "annicate": "/components/annicate/index" }, "navigationBarTitleText": &quo

微信小程序组件——bindtap和catchtap的区别

了解知识点 DOM模型是一个树形结构,在DOM模型中,HTML元素是有层次的.当一个HTML元素上产生一个事件时,该事件会在DOM树中元素节点与根节点之间按特定的顺序传播,路径所经过的节点都会收到该事件,这个传播过程就是DOM事件流. JS冒泡事件:当一个元素上的事件被触发的时候,比如说鼠标点击了一个按钮,同样的事件将会在那个元素的(所有祖先元素)中被触发.这 一过程被称为事件冒泡:这个事件从原始元素开始一直冒泡到DOM树的最上层 共同点 在微信小程序的事件机制中,bindtap和catchta

微信小程序组件构建UI界面小练手 —— 表单登录注册微信小程序

通过微信小程序中丰富的表单组件来完成登录界面.手机快速注册界面.企业用户注册界面的微信小程序设计. 将会用到view视图容器组件.button按钮组件.image图片组件.input输入框组件.checkbox多项选择器组件.switch开关选择组件.navigator页面连接组件等. Ⅰ.登录设计 登录表单中,需输入账号.密码进行登录,在账号.密码输入框中都有友好的提示信息:登录按钮默认是灰色不可用状态,只有输入内容后,才会变为可用状态:在登录按钮下面提供手机快速注册.企业用户注册.找回密码链