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() { processFormData() {
this.formData.forEach(item => { 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) { if (item.value.options) {
item.option_lists = []; item.option_lists = [];

View File

@@ -11,7 +11,7 @@
<view :class="['box', 'align-left']" :style="item._boxAlignStyle"> <view :class="['box', 'align-left']" :style="item._boxAlignStyle">
<input <input
type="text" type="text"
:placeholder="item.value.placeholder || $lang('components.ns-newform.inputPlaceholder')" :placeholder="item.value.placeholder"
placeholder-class="placeholder color-tip" placeholder-class="placeholder color-tip"
v-model="item.val" v-model="item.val"
/> />
@@ -28,7 +28,7 @@
</view> </view>
<view :class="['box', 'align-left']" :style="item._boxAlignStyle"> <view :class="['box', 'align-left']" :style="item._boxAlignStyle">
<textarea <textarea
:placeholder="item.value.placeholder || $lang('components.ns-newform.inputPlaceholder')" :placeholder="item.value.placeholder"
placeholder-class="placeholder color-tip" placeholder-class="placeholder color-tip"
v-model="item.val" v-model="item.val"
></textarea> ></textarea>
@@ -578,7 +578,9 @@ export default {
processFormData() { processFormData() {
this.formData.forEach((item) => { 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 : ''; item.val = item.value.default ? item.value.default : '';
} }