重磅发布!一套高效易用的微信小程序原生开发 UI 组件

        在小程序开发的浪潮中,高效构建美观且功能强大的用户界面一直是开发者们追求的目标。今天,博主非常激动地向大家宣布,一套精心打造的微信小程序原生开发 UI 组件正式发布!它将为开发者们带来全新的开发体验,助力快速搭建优质小程序。

一、发布背景与初衷

        随着微信小程序生态的日益繁荣,用户对于小程序的界面美观度和交互流畅性要求越来越高。然而,传统的开发方式在 UI 组件的构建上往往存在诸多痛点。开发者可能需要花费大量时间和精力去设计、开发和调试组件,不仅效率低下,而且不同组件之间的兼容性和一致性也难以保证。为了解决这些问题,博主深入研究开发者的需求,结合多年的小程序开发经验,历时数月,精心打磨出了这套微信小程序原生开发 UI 组件。

二、组件核心优势

(一)丰富多样的组件类型

        这套 UI 组件涵盖了从基础到高级的各类组件,满足不同业务场景的需求。基础组件包括按钮、输入框、文本、选择器等,是构建小程序界面的基石;高级组件如标签页、模态框、抽屉、日历组件等,能够实现复杂的交互功能和丰富的界面效果。无论是电商类小程序的商品展示、订单处理,还是工具类小程序的操作流程引导,都能在这套组件库中找到合适的组件。

(二)高度可定制化

        博主深知每个项目都有其独特的设计风格和功能需求,因此这套 UI 组件具有高度的可定制性。开发者可以通过简单的属性配置,轻松调整组件的样式,包括颜色、大小、边框等;还能自定义组件的行为和交互逻辑,实现个性化的界面效果。例如,对于导航栏组件,开发者可以根据品牌主色调修改导航栏背景色、标题样式,甚至可以将标题栏设置为夜间模式。

(三)高效开发,降低成本

        使用这套 UI 组件,开发者无需从零开始开发组件,大大减少了开发时间和人力成本。组件库提供了详细的文档和丰富的示例代码,即使是新手开发者也能快速上手。通过复用组件,还能提高代码的可维护性和可扩展性,降低项目后期的维护成本。同时,组件的高效性能也有助于提升小程序的加载速度和运行效率,为用户带来更流畅的使用体验。

三、如何使用这套 UI 组件

(一)安装与引入

CSDN下载地址:https://download.csdn.net/download/qq_56046190/90669506

代码仓库开源地址:公开仓库

        方式① :直接在CSDN下载地址下载 wx-ui.zip 压缩包解压,并将components目录下的所有目录拷贝到项目中

方式②:运行 Git 工具,克隆项目到本地,components目录下即所有封装好的UI

$ git clone https://e.coding.net/fengyinxiaozhen/ui-/ui-components.git

(二)组件使用示例

以 Calendar 日历 组件为例,在page.json文件中引入ui-calendar组件:

/* index.json */
{
  "usingComponents": {

    "ui-calendar": "/components/ui-calendar/index"
  }
}

index.wxml文件中使用ui-calendar

<!-- index.wxml -->
<text>Calendar 日历组件的基础使用</text>
<ui-calendar bind:click="handleSelectDate"></ui-calendar>

在 index.js 文件中编写点击事件:

// index.js
Page({
    data: {

    },
    // Calendar 日历组件点击事件
    handleSelectDate(e) {
        console.log('当前选择的日期: ',e.detail.date)
    },
})

效果如下:

四、UI组件文档

  • 按钮 ui-button
Prop
属性名说明类型默认值可选值备注

type

按钮的样式类型Stringdefault

default / success /

warning / fail / primary

-

circle

胶囊按钮Booleanfalsetrue/false-

text

按钮文本String---

icon

按钮图标url---
Events
bind:tap按钮点击事件Function---
  • 输入框 ui-input
Props
属性名说明类型默认值可选值备注

prop

双向绑定的值在表单中

时,传入的具体属性名

String---

placeholder

输入框的提示语String---

mode

输入框的类型Stringtext

text / number /

idcard / digit /

nickname / 

safe-password

safe-password

Webview 支持。

Events
change数据更新时的回调Function---
  • 选择器 ui-picker
Props
属性名说明类型默认值可选值备注

data

选择器的数据集

Array---

placeholder

选择器的提示语String---

title

需要选择器以按钮形式

显示时传入的文本

String---
label

当data数组内容为 Object

时,需要显示的属性名

String---

start

表示有效时间范围的开始

String--

当mode为time时,字符串格式为 "hh:mm";

当mode为date时,字符串格式为 "YYYY-MM-DD"

end

表示有效时间范围的结束

String--

当mode为time时,字符串格式为 "hh:mm";

当mode为date时,字符串格式为 "YYYY-MM-DD"

fields

日期选择器的粒度Stringdayday / month / year-

level

区域选择器的层级Stringregion

province / city region / 

sub-district

-

mode

选择器的类型String

selector

selector / region /

date / time

-

Events

confirm

数据更新时的回调Function---
  • 多选框 ui-checkbox
Props
属性名说明类型默认值可选值备注

data

多选参数列表

Array---

disabled

是否禁用Booleanfalse

true / false

-

color

选中时的颜色String

#67C23A

--

checked

默认是否选中Booleanfalsetrue / false-

vertical

是否垂直分布Booleanfalsetrue / false-

value

当data数组内容为Object

时,用于指定回调的属性值

Sting1--

label

当data数组内容为Object

时,用于指定回调的属性名

String

option-1

--
Events
change选中时的回调Function---
  • 导航栏 ui-navbar
Props
属性名说明类型默认值可选值备注

title

导航栏的标题

String---

isDark

是否夜间模式Booleanfalsetrue / false-

isBack

是否显示返回按钮Booleanfalsetrue / false-

height

导航栏高度String75px--

color

标题字体颜色String

#000

--

darkColor

夜间模式下的标题

字体颜色

String#FFF--

bgColor

导航栏背景颜色String#FFF--

borderColor

导航栏下边框颜色String#000--
  • 标签页 ui-tabs
Props
属性名说明类型默认值可选值备注

list

标签数据

Array---

currentIndex

默认选中的标签Number0--

color

选中时的颜色String

#007AFF

-

-

Events
change选中时的回调Function---
  • 模态框 ui-modal
Props
属性名说明类型默认值可选值备注

show

是否显示

Booleanfalsetrue / false-

title

模态框的标题String---

reverse

确认与取消按钮

是否交换

Boolean

false

true / false

-

Events

confirm

确认按钮的回调Function---

cancel

取消按钮的回调Function---
  • 抽屉 ui-drawers
Props
属性名说明类型默认值可选值备注

show

是否显示

Booleanfalsetrue / false-

mode

弹出方向Stringbottom

top / bottom /

left / right

-

reverse

确认与取消按钮

是否交换

Boolean

false

true / false

-

Events

close

关闭抽屉的回调Function---
  • 单元格 ui-cell

在使用 cell 单元格时,为避免CSS样式混乱,请将组件 ui-cell 放在 ui-cell-group 标签中

ui-cell-group Props
属性名说明类型默认值可选值备注

title

需要展示的内容标题

String---

border

是否显示边框Booleanfalse

true / false

-

customStyle

传入的CSS样式

Object

-

-

-

ui-cell Props

icon

单元格左侧图标String---

title

单元格标题String---

value

单元格右侧内容String---

label

单元格内容描述String---

date

单元格右下方日期String---

symbol

是否显示边框Boolean---
Slot

title

自定义左侧标题部分的内容,如需使用,请勿定义title参数,或赋值null即可----
value自定义右侧部分的内容,如需使用,请勿定义value参数,或赋值null即可----
label自定义左侧内容描述部分的内容,如需使用,请勿定义label参数,或赋值null即可----
date自定义右侧日期部分的内容,如需使用,请勿定义date参数,或赋值null即可----
  • 日历 ui-calendar

Props
属性名说明类型默认值可选值备注

currentDate

当前日期

String

new Date()

--

edit

是否可编辑Booleanfalsetrue / false-

title

修改备注弹窗的标题

String

修改备注

-

-

placeholder

修改备注输入框提示语String

请输入备注

--

remarks

日历的备注内容Object--

传入的备注格式为:

{

   '2025-04-01': '备注'

}

Events

click

选择日期的回调Function---

confirm

修改备注时,确认按钮的回调Function---
  • 表单 ui-form
  1. 在使用表单组件时,为避免CSS样式混乱,请将组件 ui-form-item 放在 ui-form 标签中
  2. 使用表单校验规则时,需在父组件中获取子组件实例对象
<!-- 父组件index.wxml -->
<view>
    <ui-form id="uiForm" data="form" rules="rules">
        <ui-form-item>
            /**
             * 表单项...
             */
        </ui-form-item>
    </ui-form>
</view>
// 父组件index.js
Page({
    data: {
        form: {
            userName: ''
        },
        rules: {
            userName: [
                { required: true, message: '请输入姓名', trigger: ['blur', 'change'] }
            ]
        }
    },

    // 提交表单数据
    handleCommit() {
        // 获取表单组件实例对象
        let uiForm = this.selectComponent('#uiForm');
        // 调用表单校验规则,通过校验返回 true
        uiForm.validateForm();
  },
})
ui-form Props
属性名说明类型默认值可选值备注
form表单对象Object---

rules

表单校验规则

Array | Object

---
ui-form-item Props
属性名说明类型默认值可选值备注

label

表单项的标题内容String---

labelPosition

表单项的对齐方式Stringleft

top / left /

right

-

labelWidth

表单项的宽度String70px--

required

是否显示左侧必选星号Booleanfalsetrue / false-

创作不易,希望各位大佬多多支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛*璃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值