fix: Vue2 到 Vue3 迁移兼容修复

- 修复 uni-popup-dialog/uni-data-picker keypress.js 中 $once 在 H5 端报错(改用生命周期钩子清理监听)
- main.js 补 $delete globalProperties polyfill(z-paging 自动高度逻辑依赖)
- App.vue onLaunch 补设备信息初始化,修复 X-Device-Id 恒为 unknown
- 68 处 ::v-deep、/deep/ 旧深度选择器替换为 :deep()(含 login-page.scss)
- zetank-personalpage 组件 .sync 修饰符改为 v-model:xxx(Vue3 已移除 .sync)
- vite.config.js HBuilderX 路径支持 HBUILDERX_HOME 环境变量覆盖
- 根 package.json 清理 image-grid 插件遗留元数据
- 收录此前未提交的 uView Vue3 兜底补丁(common/uview-init.js 及各组件 props.js)
This commit is contained in:
2026-09-06 19:36:36 +08:00
parent a68bf43112
commit 99c139d6ce
126 changed files with 1223 additions and 1080 deletions
@@ -1,8 +1,8 @@
// 隐藏 edge 浏览器的密码查看按钮
/* #ifdef H5 */
.input-box ::v-deep{
.uni-input-input[type="password"] {
.input-box {
:deep(.uni-input-input[type="password"]) {
&::-ms-reveal {
display: none;
}
@@ -87,8 +87,15 @@
/* #ifndef APP-NVUE */
// 解决小程序端开启虚拟节点virtualHost引起的 class = input-box丢失的问题 [详情参考](https://uniapp.dcloud.net.cn/matter.html#%E5%90%84%E5%AE%B6%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%AE%9E%E7%8E%B0%E6%9C%BA%E5%88%B6%E4%B8%8D%E5%90%8C-%E5%8F%AF%E8%83%BD%E5%AD%98%E5%9C%A8%E7%9A%84%E5%B9%B3%E5%8F%B0%E5%85%BC%E5%AE%B9%E9%97%AE%E9%A2%98)
.uni-content ::v-deep .uni-easyinput__content,
/* 解决小程序端开启虚拟节点virtualHost引起class = input-box丢失的问题 */
.uni-content :deep(.uni-easyinput__content) {
height: 44px;
background-color: #F8F8F8 !important;
border-radius: 0;
font-size: 14px;
display: flex;
flex: 1;
}
/* #endif */
.input-box {
@@ -107,7 +114,7 @@
cursor: pointer;
}
.uni-content ::v-deep .uni-forms-item__inner {
.uni-content :deep(.uni-forms-item__inner) {
padding-bottom: 8px;
}
@@ -156,11 +156,11 @@
cursor: pointer;
}
.checkbox-box ::v-deep .uni-checkbox-input{
.checkbox-box :deep(.uni-checkbox-input){
border-radius: 100%;
}
.checkbox-box ::v-deep .uni-checkbox-input.uni-checkbox-input-checked{
.checkbox-box :deep(.uni-checkbox-input.uni-checkbox-input-checked){
border-color: $uni-color-primary;
color: #FFFFFF !important;
background-color: $uni-color-primary;
@@ -171,7 +171,7 @@
flex-direction: row;
}
.root ::v-deep .uni-popup__error{
.root :deep(.uni-popup__error){
color: #333333;
}
</style>
@@ -235,7 +235,7 @@
font-size: 14px;
}
.box ::v-deep .content-clear-icon {
.box :deep(.content-clear-icon) {
margin-right: 100px;
}
@@ -229,7 +229,7 @@
font-size: 14px;
}
.box ::v-deep .content-clear-icon {
.box :deep(.content-clear-icon) {
margin-right: 110px;
}
@@ -246,9 +246,18 @@
}
/* #ifdef MP */
// 解决小程序端开启虚拟节点virtualHost引起的 class = input-box丢失的问题 [详情参考](https://uniapp.dcloud.net.cn/matter.html#%E5%90%84%E5%AE%B6%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%AE%9E%E7%8E%B0%E6%9C%BA%E5%88%B6%E4%B8%8D%E5%90%8C-%E5%8F%AF%E8%83%BD%E5%AD%98%E5%9C%A8%E7%9A%84%E5%B9%B3%E5%8F%B0%E5%85%BC%E5%AE%B9%E9%97%AE%E9%A2%98)
.phone-box ::v-deep .uni-easyinput__content,
/* 解决小程序端开启虚拟节点virtualHost引起class = input-box丢失的问题 */
.phone-box :deep(.uni-easyinput__content) {
/* #ifndef APP-NVUE */
box-sizing: border-box;
/* #endif */
flex: 1;
padding-left: 45px;
margin-bottom: 10px;
border-radius: 0;
}
/* #endif */
.input-box {
/* #ifndef APP-NVUE */
box-sizing: border-box;
@@ -167,7 +167,7 @@
}
}
.uni-content ::v-deep .uni-forms-item__label {
.uni-content :deep(.uni-forms-item__label) {
position: absolute;
left: -15px;
}
@@ -205,7 +205,7 @@
font-size: 12px;
}
}
.uni-content ::v-deep .uni-forms-item__label {
.uni-content :deep(.uni-forms-item__label) {
position: absolute;
left: -15px;
}
@@ -170,7 +170,7 @@
}
}
.uni-content ::v-deep .uni-forms-item__label {
.uni-content :deep(.uni-forms-item__label) {
position: absolute;
left: -15px;
}
@@ -112,7 +112,7 @@
}
/* #ifndef APP-NVUE || VUE3 */
.uni-content ::v-deep .uni-easyinput__content {}
.uni-content :deep(.uni-easyinput__content) {}
/* #endif */
.input-box {
@@ -267,11 +267,11 @@ export default {
line-height: 26px;
}
.checkbox-box ::v-deep .uni-checkbox-input {
.checkbox-box :deep(.uni-checkbox-input) {
border-radius: 100%;
}
.checkbox-box ::v-deep .uni-checkbox-input.uni-checkbox-input-checked {
.checkbox-box :deep(.uni-checkbox-input.uni-checkbox-input-checked) {
border-color: $uni-color-primary;
color: #FFFFFF !important;
background-color: $uni-color-primary;
@@ -136,7 +136,7 @@ export default {
color: inherit!important;
}
.uni-content ::v-deep .uni-forms-item {
.uni-content :deep(.uni-forms-item) {
margin-bottom: 10px;
}