fix(ns-form,ns-newform): 优化文本输入框默认值处理逻辑

针对Text和Textarea组件,当placeholder为空字符串时不再自动设置默认空值,保留用户输入的空状态
This commit is contained in:
2026-07-31 10:19:47 +08:00
parent ed944ee192
commit eed766366d
2 changed files with 13 additions and 9 deletions

View File

@@ -442,7 +442,9 @@
},
processFormData() {
this.formData.forEach(item => {
if (!item.val) item.val = item.value.default ? item.value.default : '';
// Text / Textarea:当 placeholder 为空字符串或没有值时,不设置默认值
const skipDefault = (item.controller == 'Text' || item.controller == 'Textarea') && !item.value.placeholder;
if (!item.val && !skipDefault) item.val = item.value.default ? item.value.default : '';
if (item.value.options) {
item.option_lists = [];

View File

@@ -11,7 +11,7 @@
<view :class="['box', 'align-left']" :style="item._boxAlignStyle">
<input
type="text"
:placeholder="item.value.placeholder || $lang('components.ns-newform.inputPlaceholder')"
:placeholder="item.value.placeholder"
placeholder-class="placeholder color-tip"
v-model="item.val"
/>
@@ -28,7 +28,7 @@
</view>
<view :class="['box', 'align-left']" :style="item._boxAlignStyle">
<textarea
:placeholder="item.value.placeholder || $lang('components.ns-newform.inputPlaceholder')"
:placeholder="item.value.placeholder"
placeholder-class="placeholder color-tip"
v-model="item.val"
></textarea>
@@ -578,7 +578,9 @@ export default {
processFormData() {
this.formData.forEach((item) => {
if (!item.val) {
// Text / Textarea:当 placeholder 为空字符串或没有值时,不设置默认值
const skipDefault = (item.controller == 'Text' || item.controller == 'Textarea') && !item.value.placeholder;
if (!item.val && !skipDefault) {
item.val = item.value.default ? item.value.default : '';
}