fix(ns-form,ns-newform): 优化文本输入框默认值处理逻辑
针对Text和Textarea组件,当placeholder为空字符串时不再自动设置默认空值,保留用户输入的空状态
This commit is contained in:
@@ -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 = [];
|
||||||
|
|||||||
@@ -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 : '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user