首页
归档
笔记
树洞
搜索
友言

文章详情

Interesting People Record Interesting.

/ uniapp / 文章详情

支付宝小程序:解决提示ref重复加载 Form

Sonder
2024-07-04
1067字
3分钟
浏览 (1.6k)

image.png

场景如下

这里是表单,通过循环展示。点击单选切换不同的输入框

复制代码
 onChange(val) {
   console.log("🚀 ~ onChange ~ val:", val);
   let dynamicFormConfig = [];
   const fieldTypes = ["THIRD_BUY_PLATFORM", "THIRD_ORDER_IMGS"];
   const init = this.data.dynamicFormConfigInitList;
   if (val === "NO_BUY_HHDS") {
     dynamicFormConfig = init;
   } else {
     dynamicFormConfig = init.filter(
       (item) => !fieldTypes.includes(item.fieldType)
     );
   }
   this.setData({
     dynamicFormConfig,
   });
 },
复制代码
<view a:for="{{dynamicFormConfig}}" a:for-key="item.key">
   <form-input
       a:if="{{item.dataType === 'TEXT'}}"
       label="{{item.name}}"
       name="{{item.key}}"
       required
       ref="handleRef" />
   <form-radio-group
       a:elif="{{item.dataType === 'SINGLE'}}"
       label="{{item.name}}"
       name="{{item.key}}"
       required
   onChange="onChange"
       options="{{ item.options }}"
       ref="handleRef" />
</view>

解决办法

a:for-key="item.key" 改成 key="{{item.key}}"

下一篇 / git 如何在某个分支不提交某个文件?

🎯 相关文章

💡 推荐文章

🕵️‍♂️ 评论 (0)