当前位置: 首页 > news >正文

晋江论坛网站网店运营推广平台

晋江论坛网站,网店运营推广平台,网站开发做什么费用,详情页设计与制作问题现象 &#x1f4a5; 在实现动态增减的单价输入表单时&#xff08;基于uv-form组件&#xff09;&#xff0c;遇到以下诡异现象&#xff1a; <uv-input>的v-model绑定初始值为数字类型时&#xff0c;required规则失效 ❌数字类型与字符串类型校验表现不一致 &#x1…

问题现象 💥

在实现动态增减的单价输入表单时(基于uv-form组件),遇到以下诡异现象:

  • <uv-input>的v-model绑定初始值为数字类型时,required规则失效 ❌
  • 数字类型与字符串类型校验表现不一致 🔢

技术栈背景 🛠️

  • 框架:Vue3 + uni-app
  • UI库:uv-ui
  • 校验方案:计算属性动态生成规则

示意图 🔍

在这里插入图片描述

解决方案 🚀

1.优先使用字符串类型做表单绑定
2.添加自定义校验规则(validator)解决初始值问题

<template><view class="form-box"><uv-form ref="refForm" :model="formvalue" labelWidth="100px" :rules="rules"><view class="form-list-item" v-for="(item, index) in formvalue.detailList" :key="index"><uv-form-item borderBottom label="单价" :prop="`detailList.${index}.amount`" required><uv-input inputAlign="right" type="digit" v-model="item.amount" placeholder="请输入单价" border="none"><template v-slot:suffix></template></uv-input></uv-form-item><view class="mt24" v-if="formvalue.detailList.length != 1"><uv-button plain text="移除"@click.stop="handleDel(index)" :customStyle="{ height: '60rpx' }"></uv-button></view></view></uv-form><view class="page-footer"><uv-button plain text="新增" @click.stop="handleAdd()"></uv-button><uv-button type="primary" shape="circle" text="提交" @click="onSubmit"></uv-button></view></view>
</template>
<script setup>
import { ref, reactive, computed } from 'vue';
import { onLoad } from '@dcloudio/uni-app';
import { deepClone, isEmpty } from '@/utils';
const refForm = ref(null);
const formvalue = reactive({detailList: [],
});
const billRules = computed(() => {let rules = {};formvalue.detailList.forEach((item, index) => {rules[`detailList.${index}.amount`] = [{required: true,message: '请输入有效的单价',trigger: ['blur', 'change'],validator: (rule, value) => {// 强制转换为字符串校验if (isEmpty(value?.toString())) return false; const numValue = Number(value);return !isNaN(numValue) && numValue > 0;}}];})return rules
});
const rules = computed(() => {return {...billRules.value}
});
const detailObj = {amount: 10,
}
const handleAdd = () => {formvalue.detailList.push(deepClone(detailObj))
}
const handleDel = (index) => {formvalue.detailList.splice(index, 1)
}
onLoad(async () => {handleAdd()
})
const onSubmit = async () => {refForm.value.validate().then(async () => {})
}   
</script>
<style lang="scss" scoped>
.form-box {margin-top: 180rpx;
}.page-footer {position: fixed;width: 100%;height: 120rpx;bottom: 0;background-color: #fff;padding: 65rpx 32rpx 80rpx 32rpx;display: flex;justify-content: space-between;align-items: center;.uv-button-box {flex: 1;margin: 0 12rpx;}
}
</style>
http://www.cadmedia.cn/news/15868.html

相关文章:

  • 动漫网站建设前期策划如何让百度快速收录新网站
  • 建设网站要学什么网络推广软件有哪些
  • 两新组织党建支部网站建设今年疫情最新消息
  • 新网站建设哪家好重庆网络seo公司
  • 工厂外贸网站建设怎样推广自己的广告
  • 如何做领券网站广州seo诊断
  • 网站建设.龙兵百度推广总部客服投诉电话
  • 品牌网是什么seo实战培训中心
  • 网站海外推广谷歌seo方案产品seo是什么意思
  • 如何做网站测试seo的重要性
  • wap网站源码 下载网站优化建议
  • 建设地区网站建议信息流投放平台
  • 定制网站建设需要多少钱免费的个人网站怎么做
  • 小型门户网站建设硬件配置seo网页推广
  • 厦门做网站最好的公司潍坊网站收录
  • 哪家公司建设网站友链交换不限内容
  • 顺义企业网站建站公司深圳网站建设系统
  • 河北哪些大学网站建设专业比较好营销平台有哪些
  • 免费的查企业的网站网络营销平台名词解释
  • 东莞石龙镇疫情最新消息seo点击优化
  • 奉化市住房和城乡建设局网站搜索网站的软件
  • 购物网站建设市场今日新闻最新头条10条
  • 电影网站建设推广北京seo排名服务
  • 临潼城市建设局网站2023全民核酸又开始了
  • 网站建设款属不属于无形资产口碑营销的前提及好处有哪些?
  • 东莞市工程建设安监站网站万网域名交易
  • 中国万网注册网站地推怎么做最有效
  • 适合夫妻的suvseo关键词优化外包公司
  • 新泰市住房和城乡建设局网站最近发生的热点事件
  • 宿州做企业网站公司最稳定的灰色词排名