微信小程序组件 —— 树形下拉框

本文介绍了如何在微信小程序中实现一个树形下拉选择框,通过递归思想和treeview组件,创建了mytree和treeSelect两个组件,并在index页面进行测试。提供了下载地址和各组件的WXML、WXSS、JSON、JS文件内容,适用于两级树形结构,支持展开隐藏和选择值回调。作者为工作两年的前端开发者,期待更好的组件建议。
摘要由CSDN通过智能技术生成

因为项目需求,需要一个树形下拉选择框,参考了网上的树形结构整理出了这样一个效果图
在这里插入图片描述
下载地址:wx_treeSelect下载

其实主要还是参考了treeview的递归思想 微信小程序实现简单的树形图treeview 绘制出下拉框内的内容,在加个状态判断展开隐藏下拉框,方法回调显示选择值 其实思想还是很容易的 接下来直接上代码

1.首先新建树形菜单组件 —— mytree
在这里插入图片描述
(1) mytree.wxml


<view class="container">
  <view style="padding:5rpx 0;">
    <image wx:if='{
   { isBranch }}' bindtap='toggle' src="{
   { open ? '/image/show_less.png' : '/image/show_more.png'}}"  class='item-sImg'></image>
    <image wx:else src='/image/page_turning_right.png'  class='item-sImg'></image>
    <text bindtap='tapItem' data-itemid='{
   { model.id }}' data-value='{
   { model.text }}'>{
   {
    model.text }}</text>
  </view>
  <view style='padding-left: 25rpx;' wx:if='{
   { isBranch }}' hidden='{
   { !open }}'>
    <mytree wx:for='{
   { model.nodes }}' wx:key='id' model='{
   { item }}'></mytree>
  </view>
</view>

(2) mytree.wxss


.container{
   
  font-size: 30rpx;
  color: #333;
}

.item-sImg{
   
  width: 40rpx;
  height: 40rpx;
  vertical-align: middle;
}

(3) mytree.json


{
   
  "component": true,
  "usingComponents": {
   
    "mytree": "../mytree/mytree"
  }
}

(4) mytree.js


Component({
   
  properties: {
   
    model: Object,
  },

  data: {
   
    open: true,
    isBranch: false,
  },

  methods: {
   
    toggle: function(e) {
   
      if (this.data.isBranch) {
   
        this.setData({
   
          open: !this.data.open,
        })
      }
    },
    
    tapItem: function(e) {
   
      var itemid =
  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值