Skip to content

移动端组件体系

本文档引用文件

目录

  1. 简介
  2. 项目结构
  3. 核心组件
  4. 架构概述
  5. 详细组件分析
  6. 依赖分析
  7. 性能考虑
  8. 故障排除指南
  9. 结论

简介

本文档旨在全面分析基于UniApp平台的移动端组件体系,重点研究CustomInput、CustomSelect、DictSelect和DictbizSelect等组件的实现方式。通过与PC端同类组件的对比,阐述移动端组件在交互设计、布局适配和性能优化方面的特殊考量。文档详细解析了基于tm-ui组件库的二次封装策略,包括样式覆盖、功能扩展和平台兼容性处理,并为开发者提供跨平台组件开发的最佳实践。

项目结构

项目采用模块化结构,分为codegenpcrustuni四个主要目录。uni目录包含移动端组件,pc目录包含PC端组件,两者在组件实现上存在显著差异以适应不同平台的交互特性。

图示来源

章节来源

核心组件

移动端组件体系的核心包括CustomInput、CustomSelect、DictSelect和DictbizSelect四个组件。这些组件基于tm-ui组件库进行二次封装,针对移动端的触摸交互、虚拟键盘和性能限制进行了特殊优化。

章节来源

架构概述

移动端组件采用分层架构设计,底层依赖tm-ui组件库提供基础UI元素,中层通过二次封装实现业务适配,上层提供统一的API接口。与PC端使用Element Plus不同,移动端选择tm-ui以更好地支持跨平台和移动端特性。

图示来源

详细组件分析

CustomInput组件分析

CustomInput组件是移动端基础输入组件,封装了tm-input并针对移动端特性进行了优化。

组件交互流程

图示来源

移动端特殊处理

图示来源

章节来源

CustomSelect组件分析

CustomSelect组件是移动端选择器组件,采用抽屉式交互模式,优化了移动端的选择体验。

选择器交互流程

图示来源

多选标签处理

图示来源

章节来源

DictSelect组件分析

DictSelect组件是基于CustomSelect的二次封装,专门用于处理数据字典选择。

组件继承关系

图示来源

数据字典处理流程

图示来源

章节来源

DictbizSelect组件分析

DictbizSelect组件与DictSelect类似,但用于处理业务字典选择。

业务字典处理流程

图示来源

章节来源

依赖分析

移动端组件体系依赖于tm-ui组件库,通过二次封装实现业务适配。与PC端的Element Plus相比,tm-ui更适合移动端的触摸交互和性能要求。

图示来源

章节来源

性能考虑

移动端组件在性能优化方面采取了多项措施,包括虚拟滚动、按需加载和内存管理等策略。

移动端与PC端组件对比

特性移动端组件PC端组件
交互模式抽屉式选择器下拉式选择器
键盘处理自动适配虚拟键盘基于物理键盘
触摸优化大点击区域标准点击区域
性能优化虚拟滚动全量渲染
内存管理及时释放持久化
网络请求懒加载预加载
样式适配响应式设计固定布局

章节来源

故障排除指南

常见问题及解决方案

问题现象可能原因解决方案
输入框无法获取焦点readonly属性设置错误检查readonly计算逻辑
选择器不显示数据dataMethod未正确调用确保initData为true
小数输入精度错误precision设置不当检查precision属性值
多选标签显示异常isTagExpanded状态管理检查标签展开逻辑
虚拟键盘遮挡输入框滚动处理缺失确保页面可滚动

章节来源

结论

移动端组件体系通过基于tm-ui的二次封装,实现了针对移动设备的优化。与PC端组件相比,移动端组件在交互设计、布局适配和性能优化方面有显著差异。建议开发者在跨平台开发时充分考虑这些差异,采用适当的封装策略以确保一致的用户体验。