From 5847612a583f81cfc4d6b745b8b75ab47c36e904 Mon Sep 17 00:00:00 2001 From: ZF sun <34314687@qq.com> Date: Fri, 12 Jun 2026 16:23:23 +0800 Subject: [PATCH] =?UTF-8?q?fix(ns-newform):=20=E4=BF=AE=E5=A4=8D=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E5=99=A8=E7=AE=AD=E5=A4=B4=E5=AF=B9=E9=BD=90=E4=B8=8E?= =?UTF-8?q?=E5=B8=83=E5=B1=80=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 调整选择器容器布局,将箭头移入flex容器内,统一picker类布局结构 2. 新增box-flex样式类,实现picker与箭头的自适应右对齐布局 3. 修复城市选择器的flex布局类缺失问题 4. 优化原生picker和自定义组件的宽度适配,确保文本对齐生效 --- components/ns-newform/ns-newform.vue | 66 +++++++++++++++++++++------- 1 file changed, 49 insertions(+), 17 deletions(-) diff --git a/components/ns-newform/ns-newform.vue b/components/ns-newform/ns-newform.vue index 7b348bc..4657fc3 100644 --- a/components/ns-newform/ns-newform.vue +++ b/components/ns-newform/ns-newform.vue @@ -48,11 +48,11 @@ {{ item.value.title }} {{ item.value.required ? '*' : '' }} - + {{ item.val }} {{ item.value.placeholder || '请选择' }} + - @@ -140,17 +140,17 @@ {{ item.value.required ? '*' : '' }} - {{ item.val ? item.val : (item.value.placeholder || '请选择日期') }} + - @@ -201,17 +201,17 @@ {{ item.value.required ? '*' : '' }} - {{ item.val ? item.val : (item.value.placeholder || '请选择时间') }} + - @@ -256,13 +256,13 @@ - + {{ item.value.title }} {{ item.value.required ? '*' : '' }} - - + + - @@ -1158,19 +1158,51 @@ export default { padding: 0; line-height: inherit; min-width: 0; // 防止 flex 子元素内容溢出 - + // 对齐方式 &.align-left { text-align: left; } - + &.align-right { text-align: right; } - + &.align-center { text-align: center; } + + // 让 box 在 City / Select / Date / Time 等"picker + 右侧箭头"场景下成为 + // 独立的 flex 行容器:picker 占满剩余宽度,箭头自然贴右 + // (与 .order-cell.vertical-layout 不冲突 —— 在垂直布局下 .order-cell 是 + // column,.box.box-flex 自身仍是 row,箭头与 picker 仍同行) + &.box-flex { + display: flex; + align-items: center; + justify-content: space-between; + + picker, + .pick-regions { + flex: 1; + min-width: 0; + width: auto; // 覆盖下方 .box picker,.pick-regions 的 width: 100% + } + + .iconfont.icon-right { + flex-shrink: 0; + margin-left: 8rpx; + line-height: 1; + } + } + + // 让原生 picker 与自定义 pick-regions 撑满父容器, + // 使 .box.align-right / align-center 的 text-align 能正确传递到内部 + // .uni-input / .select-address(inline-block),与后端 .more 的右对齐效果一致 + picker, + .pick-regions { + display: block; + width: 100%; + } input { font-size: var(--label-font-size, 28rpx);