微信小程序> 微信小程序点击控制元素的显示与隐藏

微信小程序点击控制元素的显示与隐藏

浏览量:794 时间: 来源:weixin_30268921

微信小程序点击控制元素的显示与隐藏

首先我们先来看一下单个点击效果
小程序
小程序

我们来看一下wxml中的代码:

view class="conten"  view class="header"    view class="nav_i"      text class="nav_tex"更多内容/text    /view    view class="nav_righ" bindtap="mmmm"更多/view  /view  view class="body"    view class="data" bindtap="share"      view class="icon"        image style="width:19px;height:19px;text-align:conten" wx:if="{{shows}}" src="/src/icon/minus.png"/image        image style="width:19px;height:19px;text-align:conten" wx:else src="/src/icon/plus.png"/image      /view      view class="body_txt"        text2017-07-27/text      /view    /view    view class="share" wx:if="{{shows}}"      input placeholder="这是一个可以自动聚焦的input" auto-focus/    /view  /view/view

下面的是js中的主要代码:

  data: {    shows: false  },  /**   * 生命周期函数--监听页面加载   */  onLoad: function (options) {  },  share: function () {    var that = this;    var sh = that.data.shows;    that.setData({      shows: !sh    })  },

要知道我们控制的元素有两个,一个是图片一个是input框,我们在页面中使用bindtap="share"进行绑定事件,同时在图片image和input标签使用shows变量来控制显示与隐藏

当我加上循环出现多个元素的时候,意料之中,会变成这个亚子(›´ω`‹ )

小程序

这里我们要判断一下,点击到标签的状态要不同于其它的,改动后的代码如下:

view class="conten"  view class="header"    view class="nav_i"      text class="nav_tex"更多内容/text    /view    view class="nav_righ" bindtap="mmmm"更多/view  /view  block wx:for-items="{{itemm}}"    view class="body"      view class="data" bindtap="share" id="{{item.id}}"        view class="icon"          image style="width:19px;height:19px;text-align:conten" wx:if="{{shows==item.id}}" src="/src/icon/minus.png"/image          image style="width:19px;height:19px;text-align:conten" wx:else src="/src/icon/plus.png"/image        /view        view class="body_txt"          text2017-07-27/text        /view      /view      view class='share {{shows==item.id?"show":"hidden"}}'        input placeholder="这是一个可以自动聚焦的input" auto-focus/      /view    /view  /block/view
data: {    shows: false,    itemm: [{      id: 1,      name: "1111"    }, {      id: 2,      name: "222"    }, {      id: 3,      name: "333"    }]  },  /**   * 生命周期函数--监听页面加载   */  onLoad: function (options) {  },  share: function (event) {    var that = this;    var sh = that.data.shows;    var itemId = event.currentTarget.id;    console.log(itemId)    if (sh == itemId) {      that.setData({        shows: false      })    } else {      that.setData({        shows: itemId      })    }  },

首先我们在js中的data里面放一些数据,在block中用 wx:for-items循环一下(然并卵我的input并没有数据,这个先放一下),给每个循环出来的元素加个id,接下来的input用三元运算符来判断,不要忘记在css加上hidden:{displan:none},我们在js方法中用id和shows变量进行判断。(这个思路是从网上看到的,记录一下,有什么描述不当,欢迎指出)

小程序

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎