news 2026/7/7 21:05:38

uni-app x使用uview-plus

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
uni-app x使用uview-plus

一、概述

‌uView-Plus官网提供完整框架文档与资源下载‌,是兼容多端开发的uni-app生态框架,支持安卓、iOS、微信小程序等10个平台。

uView-Plus官网及框架概述

‌官网入口‌:主文档站(uiadmin.net)|GitHub Pages(ijry.github.io)。

包含组件文档、工具库说明及快速体验模板入口‌‌1‌‌2

‌核心特性‌:

基于uView2.0升级,支持Vue3组合式API开发。‌‌1

提供180+组件库,覆盖表单、布局、图表等场景。‌‌3

集成网络请求、路由跳转等工具库。‌‌4

‌多端兼容‌:

一次编写即可发布到Android、iOS、微信/QQ/支付宝小程序等10个平台,H5适配度达95%‌‌

官网地址:https://uview-plus.jiangruyi.com/

官网组件预览:https://uview-plus.jiangruyi.com/h5/#/

image

二、安装uview-plus

uview-plus是免费开源的,无需授权即可商用。

1.安装依赖

打开HBuilderX,新增终端标签卡

image

在项目根目录打开终端,执行

npm install uview-plus

npm install dayjs

npm install clipboard

2. 配置 main.js

在 main.js 中引入并使用 uview-plus:

复制代码

import App from './App.uvue'

import { createSSRApp } from 'vue'

import uviewPlus from 'uview-plus'

export function createApp() {

const app = createSSRApp(App)

app.use(uviewPlus)

return {

app

}

}

复制代码

3. 引入全局样式

在 uni.scss 中添加:

@import 'uview-plus/theme.scss';

最后一行,增加即可

在 App.vue 的 <style lang="scss"> 中添加:

@import 'uview-plus/index.scss';

App.vue默认没有scss,最后一行增加以下代码

<style lang="scss">

@import 'uview-plus/index.scss';

</style>

4. 配置 easycom 自动引入

在 pages.json 中添加:

复制代码

"easycom": {

"autoscan": true,

"custom": {

"^u--(.*)": "uview-plus/components/u-$1/u-$1.vue",

"^up-(.*)": "uview-plus/components/u-$1/u-$1.vue",

"^u-([^-].*)": "uview-plus/components/u-$1/u-$1.vue"

}

}

复制代码

最后几行,增加即可

5. 配置 manifest.json(可选)

如开发微信小程序,在 manifest.json 的源码视图中添加:

"mp-weixin": {

"mergeVirtualHostAttributes": true

}

6. 重启 HBuilderX

完成上述配置后,重启 HBuilderX 使配置生效。

7. 测试使用

在页面中直接使用组件,例如:

<u-button type="primary">测试按钮</u-button>

这里,直接在index.uvue里面,增加一行,例如:

复制代码

<template>

<view>

<image class="logo" src="/static/logo.png"></image>

<text class="title">{{title}}</text>

<u-button type="primary">测试按钮</u-button>

</view>

</template>

复制代码

运行,效果如下:

image

三、编写登录页面

在pages目录,新建一个文件夹login,然后在login里面,新增文件login.uvue,内容如下:

复制代码

<template>

<view class="">

<!-- 导航栏 -->

<u-navbar title="用户登录" />

<!-- 内容区 -->

<view class="content">

<!-- 头像 -->

<u-avatar :src="logo" size="80"></u-avatar>

<!-- 表单 -->

<u--form :model="form" labelPosition="left">

<u--input v-model="form.username" placeholder="请输入用户名" prefixIcon="account" />

<u--input v-model="form.password" placeholder="请输入密码" type="password" prefixIcon="lock" />

</u--form>

<!-- 按钮 -->

<u-button text="登录" type="primary" @click="login" :loading="loading" />

<!-- 链接 -->

<view class="links">

<u-cell title="忘记密码?" isLink @click="gotoForget" />

<u-cell title="注册账号" isLink @click="gotoRegister" />

</view>

</view>

</view>

</template>

<script>

export default {

data() {

return {

title: 'Hello',

logo: '/static/logo.png',

loading: false,

form: {

username: '',

password: '',

}

}

},

onLoad() {

},

methods: {

login() {

if (!this.form.username) {

uni.showToast({ title: '请输入用户名', icon: 'none' })

return

}

this.loading = true

// 模拟登录请求

setTimeout(() => {

this.loading = false

uni.showToast({ title: '登录成功' })

}, 1500)

},

gotoForget() {

uni.navigateTo({ url: '/pages/forget/index' })

},

gotoRegister() {

uni.navigateTo({ url: '/pages/register/index' })

}

}

}

</script>

<style scoped>

.content {

padding: 40rpx;

display: flex;

flex-direction: column;

align-items: center;

}

.links {

margin-top: 30rpx;

width: 100%;

}

</style>

复制代码

编辑文件pages.json,增加login路由

复制代码

"pages": [ //pages数组中第一项表示应用启动页,参考:https://doc.dcloud.net.cn/uni-app-x/collocation/pagesjson.html

{

"path": "pages/index/index",

"style": {

"navigationBarTitleText": "uni-app x"

}

},

{

"path": "pages/login/login"

}

]

复制代码

访问页面:http://localhost:5173/#/pages/login/login

效果如下:

image

目前安装的uview-plus,版本为3.6.4,使用HBuilderX运行是,会出现很多警告信息。

这是因为uview-plus 的 SFC 代码里大量用了隐式的 this 成员,在 uni-app x + TS 严格模式 下被识别为 never,于是直接拉进项目就会报 编译期类型警告,但 运行期功能正常

uview-plus 仓库已知晓 uni-app x 的 TS 严格模式问题,3.3.8 之后计划发版解决。

因此,那些警告信息可以忽略,不影响项目正常运行。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 7:45:56

建议大学生:去过规律而有重心的生活

无论你正处在大学的哪个阶段&#xff0c;试着给自己建立一种规律而有重心的生活节奏。你会发现&#xff0c;当日常有了基本的秩序感&#xff0c;就不容易陷入迷茫和虚无——即便偶尔会迷失方向&#xff0c;但只要维持住生活的主线&#xff0c;不因为一次挫败就彻底摆烂&#xf…

作者头像 李华
网站建设 2026/7/7 11:58:51

字节一面:你负责的业务系统,流量突然提升100倍QPS,怎么办?

&#x1f449; 这是一个或许对你有用的社群&#x1f431; 一对一交流/面试小册/简历优化/求职解惑&#xff0c;欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料&#xff1a; 《项目实战&#xff08;视频&#xff09;》&#xff1a;从书中学&#xff0c;往事上…

作者头像 李华
网站建设 2026/7/7 8:03:15

AI语音转换实战指南:从零基础到专业应用的完整解决方案

AI语音转换实战指南&#xff1a;从零基础到专业应用的完整解决方案 【免费下载链接】voice-changer リアルタイムボイスチェンジャー Realtime Voice Changer 项目地址: https://gitcode.com/gh_mirrors/vo/voice-changer 你是否曾经梦想过在直播中瞬间切换不同角色的声…

作者头像 李华
网站建设 2026/7/7 16:38:35

甲基化分析利器MethylDackel:3步掌握BS-seq数据处理核心技能

甲基化分析利器MethylDackel&#xff1a;3步掌握BS-seq数据处理核心技能 【免费下载链接】MethylDackel A (mostly) universal methylation extractor for BS-seq experiments. 项目地址: https://gitcode.com/gh_mirrors/me/MethylDackel MethylDackel是一款专为亚硫酸…

作者头像 李华
网站建设 2026/7/7 5:17:37

项目分享 | SurfSense:连接个人知识库的下一代AI研究助手

当你的私人笔记、团队文档与全网搜索融为一体&#xff0c;一个指令就能生成带引用的研究报告与播客。 引言 在信息爆炸的时代&#xff0c;如何高效地研究一个主题&#xff0c;同时整合散落在个人笔记、团队文档与浩瀚网络中的碎片知识&#xff0c;成为所有知识工作者与团队的共…

作者头像 李华
网站建设 2026/7/6 15:10:20

无名杀自定义武将终极指南:5步快速创建你的专属角色

无名杀自定义武将终极指南&#xff1a;5步快速创建你的专属角色 【免费下载链接】noname 项目地址: https://gitcode.com/GitHub_Trending/no/noname 无名杀作为一款开源卡牌游戏引擎&#xff0c;为玩家提供了强大的自定义武将开发能力。无论你是游戏开发新手还是资深玩…

作者头像 李华