From bb0adb0542cd6f6b9b8d44d4bd9dacce49f23cc6 Mon Sep 17 00:00:00 2001 From: ZF sun <34314687@qq.com> Date: Fri, 17 Jul 2026 16:14:25 +0800 Subject: [PATCH] =?UTF-8?q?style(ns-form,=20ns-newform):=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=8D=A0=E4=BD=8D=E7=AC=A6=E5=AD=97=E4=BD=93=E5=A4=A7?= =?UTF-8?q?=E5=B0=8F=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 为两个表单组件新增placeholderFontSize配置项与对应CSS变量 2. 将输入框占位符字体大小从复用label字号改为独立配置 3. 适配小程序/鸿蒙原生占位符样式规则 --- components/ns-form/ns-form.vue | 13 ++++++++++++- components/ns-newform/ns-newform.vue | 9 +++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/components/ns-form/ns-form.vue b/components/ns-form/ns-form.vue index 7f101f1..aff63e7 100644 --- a/components/ns-form/ns-form.vue +++ b/components/ns-form/ns-form.vue @@ -284,6 +284,7 @@ requiredColor: '#ef4444', checkedColor: '#ff4544', placeholderColor: '#909399', + placeholderFontSize: 28, showRowDivider: true, rowDividerColor: '#f0f0f0' }; @@ -310,6 +311,7 @@ requiredColor: pick('requiredColor', 'required_color'), checkedColor: pick('checkedColor', 'checked_color'), placeholderColor: pick('placeholderColor', 'placeholder_color'), + placeholderFontSize: pick('placeholderFontSize', 'placeholder_font_size'), showRowDivider: pick('showRowDivider', 'show_row_divider'), rowDividerColor: pick('rowDividerColor', 'row_divider_color') }; @@ -364,6 +366,7 @@ '--required-color': cfg.requiredColor, '--checked-color': cfg.checkedColor, '--placeholder-color': cfg.placeholderColor, + '--placeholder-font-size': this.$util.rpx(num(cfg.placeholderFontSize, 28)), '--row-divider-color': cfg.rowDividerColor, '--show-row-divider': cfg.showRowDivider === false ? '0' : '1' }); @@ -875,6 +878,7 @@ --label-font-size: 28rpx; --label-color: #1f2937; --required-color: #ef4444; + --placeholder-font-size: 28rpx; --checked-color: #ff4544; --placeholder-color: #909399; --row-divider-color: #f0f0f0; @@ -974,13 +978,20 @@ box-sizing: border-box; padding: 0; background: transparent; + + // 原生 placeholder 样式(WebView / H5 生效;小程序/鸿蒙的 placeholder + // 通过 placeholder-class="placeholder" 钩子走 .placeholder 规则) + &::placeholder { + color: var(--placeholder-color, #909399); + font-size: var(--placeholder-font-size, 28rpx); + } } // placeholder-class 钩子:在鸿蒙原生 TextInput / WebView 中都生效, // 限定在 .form-wrap 内避免污染全局 .placeholder / .color-tip .placeholder { color: var(--placeholder-color, #909399); - font-size: var(--label-font-size, 28rpx); + font-size: var(--placeholder-font-size, 28rpx); line-height: var(--input-height, 60rpx); } diff --git a/components/ns-newform/ns-newform.vue b/components/ns-newform/ns-newform.vue index 9a6b383..af0caa6 100644 --- a/components/ns-newform/ns-newform.vue +++ b/components/ns-newform/ns-newform.vue @@ -373,6 +373,8 @@ export default { labelColor: '#1f2937', requiredColor: '#ef4444', checkedColor: '#ff4544', + placeholderColor: '#ddd', + placeholderFontSize: 28, // 提交按钮 submitColor: '#ffffff', submitBgColor: '#ff4544', @@ -440,6 +442,8 @@ export default { '--label-color': cfg.labelColor, '--required-color': cfg.requiredColor, '--checked-color': cfg.checkedColor, + '--placeholder-color': cfg.placeholderColor, + '--placeholder-font-size': this.$util.rpx(num(cfg.placeholderFontSize, 28)), '--submit-color': cfg.submitColor, '--submit-bg-color': cfg.submitBgColor, '--submit-margin-top': this.$util.rpx(cfg.submitMarginTop || 0), @@ -954,6 +958,7 @@ export default { --submit-color: #ffffff; --submit-bg-color: #ff4544; --placeholder-color: #ddd; + --placeholder-font-size: 28rpx; --show-row-divider: 1; // 与后端 form-preview-wrap.no-divider-all 对齐:整组隐藏所有行分割线 @@ -1149,7 +1154,7 @@ export default { &::placeholder { color: var(--placeholder-color, #ddd); - font-size: var(--label-font-size, 28rpx); + font-size: var(--placeholder-font-size, 28rpx); } } @@ -1174,7 +1179,7 @@ export default { &::placeholder { color: var(--placeholder-color, #ddd); - font-size: var(--label-font-size, 28rpx); + font-size: var(--placeholder-font-size, 28rpx); } }