首页 > 编程语言 >小程序 单选组件

小程序 单选组件

时间:2024-01-18 11:33:56浏览次数:35  
标签:程序 pop height item 单选 组件 font type

wxml

<view id='screen'>
    <van-popup get-container="#screen" show="{{ visible }}" closeable round position="bottom" bind:close="close_pop" custom-style="height: 70%;width: 100%;z-index:9999999;" safe-area-inset-bottom>
        <view class="pop_fix">
            <view>选择{{title}}</view>
            <van-icon name="cross" bind:click="close_pop" />
        </view>
        <view class="pop_box">
            <view class="pop_inner">
                <view class="{{item.id==selectId ? 'pop_item active':'pop_item'}}" data-id="{{item.id}}" data-item="{{item}}" bind:tap="choose_item" wx:for="{{list}}" wx:key="index" wx:for-item="item">
                    {{item.name}}
                </view>
            </view>
        </view>
    </van-popup>
</view>

js

Component({
  /**
   * 组件的属性列表
   */
  properties: {
    visible: {
      type: Boolean,
      value: false,
    },
    title: {
      type: String,
      value: "",
    },
    selectId: {
      type: String,
      value: "",
    },
    list: {
      type: Array,
      value: [],
    },
    type:{
      type: Number,
      value: 1,
    },

  },
  // 使用全局样式
  options: {
    addGlobalClass: true
  },
  /**
  * 监听父组件的传值
  */
  observers: {

  },
  /**
   * 组件的初始数据
   */
  data: {

  },
  lifetimes: {
    attached() {
    },
  },
  /**
  * 组件的方法列表
  */
  methods: {
    // 弹窗 - 关闭
    close_pop() {
      this.triggerEvent('popCloseEvent')
    },
    choose_item(e) {
      let _item = e.currentTarget.dataset;
      this.triggerEvent('popItemEvent', _item)
    },
  }
})

css

.pop_box {
  height: 100%;
  width: 100%;
  z-index: 9999999;
}

.pop_tab_empty {
  font-size: 28rpx;
  margin-top: 40rpx;
  text-align: center;
  color: #909399;
}
.pop_dataItem {
  display: flex;
  align-items: center;
  padding: 20rpx 16rpx;
  border-bottom: 1px solid #e9e9e9;
}
.pop_dataItem:last-child {
  border-bottom: none;
}
.pop_dataItem_name {
  margin-left: 20rpx;
  font-size: 28rpx;
}
.pop_dataItem_box {
  margin-top: 16rpx;
}
.pop_inner {
  margin-top: 120rpx;
  padding: 0 32rpx 20px 32rpx;
}
.pop_item {
  height: 80rpx;
  line-height: 80rpx;
  margin-bottom: 20rpx;
  border-radius: 16rpx;
  padding: 0 24rpx;
  font-size: 28rpx;
  background-color: #ffffff;
}
.active {
  background-color: #ecf5ff;
  color: #409eff;
  font-weight: bold;
}
.pop_fix {
  position: fixed;
  left: 0;
  right: 0;
  height: 50px;
  z-index: 99999999999;
  line-height: 50px;
  padding: 0 14px;
  display: flex;
  justify-content: space-between;
  background: #ffffff;
  font-weight: bold;
  font-size: 28rpx;
  box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.1);
}

父组件

<selectPop visible="{{visible}}" selectId="{{selectId}}" list="{{list}}" bind:popCloseEvent='closeEvent' bind:popItemEvent="onEvent" bind:popCloseEvent='closeEvent' title="标题"></selectPop>
visible: false,
//selectId 选中的回显值
selectId: "1",
list: [
  { name: 'test', ids: '1' },
  { name: 'test', ids: '2' },
],


标签:程序,pop,height,item,单选,组件,font,type
From: https://www.cnblogs.com/JaneLifeBlog/p/17972153

相关文章

  • 小程序 使用echart
    wxml必须定义宽高<viewstyle="height:500rpx;margin-top:40rpx;"><ec-canvasid="mychart-dom-bar"class="myCanvas"canvas-id="mychart-bar"ec="{{ec}}"></ec-canvas></view>**index.js*......
  • 探索Web开发的未来——使用KendoReact服务器组件
    KendoUI是带有jQuery、Angular、React和Vue库的JavaScriptUI组件的最终集合,无论选择哪种JavaScript框架,都可以快速构建高性能响应式Web应用程序。通过可自定义的UI组件,KendoUI可以创建数据丰富的桌面、平板和移动Web应用程序。通过响应式的布局、强大的数据绑定、跨浏览器兼容......
  • 使用pyinstaller打包python程序时报错UPX is not available
    使用pyinstaller打包python代码程序时报错:UPXisnotavailable原因是 python环境的Scripts文件夹内缺少了一个upx.exe的文件到官网https://github.com/upx/upx/releases/tag/v4.2.2中下载一个UPX,将下载文件解压后得到的upx.exe文件(解压后的所有文件里只要这一个文件即可,......
  • 每个Go程序员必犯之错之切片循环错误
    每个Go程序员必犯之错原创 晁岳攀(鸟窝) 鸟窝聊技术 2023-12-1808:48 发表于北京 听全文说起每个程序员必犯的错误,那还得是"循环变量"这个错误了,就连Go的开发者都犯过这个错误,这个错误在Go的FAQ中也有提到Whathappenswithclosuresrunningasgoroutines?[......
  • 工作中给同事写的便捷统计小程序
    1,测试一千次开关机,几个阶段的时间#coding:utf-8importosfromdatetimeimportdatetimedefget_txts(file_path):files=os.listdir(file_path)forfileinfiles:withopen(os.path.join(file_path,file),"r",encoding="UTF-8")as......
  • 知识付费教育培训在线课程小程序开发
    私域场景下的知识付费解决方案,低成本的音视频课程点播系统录播+直播+考试练习+营销转化+多端覆盖真正的跨平台可用一个后台管理多个平台,数据通用。系统自动生成小程序版本,无需编辑任何代码。功能特性更多功能将在迭代中实现多种课程模式支持图文、音频、视频课程,并且支持试看云存储......
  • 掌上医院预约挂号源码,uni-app+.net公众号、支付宝小程序预约挂号平台
    线上预约挂号系统构建了医院和患者的连接,通过改善患者院内的就医服务流程,以公众号、支付宝小程序为服务入口,为居民提供导诊、预约、支付、报告查询等线上线下一体化的就医服务,缩短患者就诊环节,提高医疗机构服务效率。●与医院HIS系统深度融合,实现诊疗业务及数据线上线下的双向传......
  • echarts 常用的自定义组件
    一、自定义tooltip:多条曲线,series中name过长,鼠标悬浮时,文字过长,展示样式需自定义tooltip:{trigger:'axis',formatter:function(params){if(!params||params.length==0){return}varresult='<divstyle="padding-bottom:5px;">&#......
  • 上门护理系统|上门护理系统|上门护理小程序开发功能介绍
    随着老龄化社会的到来,护理服务的需求日益增长。然而,传统的护理模式往往存在着资源分配不均、效率低下等问题。为了解决这一问题,上门护理小程序应运而生。本文将介绍上门护理小程序的开发功能和优势,以期为拓展护理服务市场的机会提供新的思路。 一、便捷的预约功能:上门护理小程序采......
  • 上门护理系统|上门护理系统|上门护理小程序开发功能介绍
    随着老龄化社会的到来,护理服务的需求日益增长。然而,传统的护理模式往往存在着资源分配不均、效率低下等问题。为了解决这一问题,上门护理小程序应运而生。本文将介绍上门护理小程序的开发功能和优势,以期为拓展护理服务市场的机会提供新的思路。 一、便捷的预约功能:上门护理小程序采......