setFieldsValue 的 key 是个变量

该段代码展示了如何根据用户选择在表单中动态设置和清除输入控件的值。`handleTypeChange`函数接收`value`和`code`参数,利用`form.setFieldsValue`清空特定标识的字段,并根据`value`更新状态,将数据切换为`liveList`或`surveyList`。此功能常见于问卷或直播相关的应用中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

setFieldsValue 设置一组输入控件的值,如果设置的 key 是个变量时要用 [] 包裹

const handleTypeChange = (value: IdentifierType, code: string) => {
    form.setFieldsValue({ [`identifier${code}`]: '' }); // 清空问卷、直播标识
    if (value === IdentifierType.live) {
      updateState({ [`${code}`]: liveList });
    } else {
      updateState({ [`${code}`]: surveyList });
    }
  };

请按照下面的代码格式规范代码: <!-- * @Description: 测温新增 --> <template> <BasicDrawer v-bind="$attrs" @register="registerDrawer" showFooter :title="getTitle" width="800px" @ok="handleSubmit" > <BasicForm @register="registerForm" /> </BasicDrawer> </template> <script lang="ts" setup> import { ref, computed, unref } from 'vue'; import { BasicForm, useForm } from '/@/components/Form/index'; import { formTemperatureSchema } from './steel.data'; import { BasicDrawer, useDrawerInner } from '/@/components/Drawer'; import { saveData } from '/@/api/rawMaterial/hotMetal'; import { useMessage } from '/@/hooks/web/useMessage'; const emit = defineEmits(['success', 'register']); const isUpdate = ref(true); let record = ref<any>({}); const { createMessage } = useMessage(); const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({ labelWidth: 140, baseColProps: { span: 12 }, schemas: formTemperatureSchema, showActionButtonGroup: false, }); const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => { resetFields(); setDrawerProps({ confirmLoading: false }); console.log('========', data); // 需要在setFieldsValue之前先填充treeData,否则Tree组件可能会报key not exist警告 isUpdate.value = !!data?.isUpdate; if (unref(isUpdate)) { setFieldsValue({ ...data.record, }); } record.value = data.record; }); const getTitle = computed(() => (!unref(isUpdate) ? '新增铁水测温' : '编辑铁水测温')); async function handleSubmit() { try { const values = await validate(); values.hmId = record.value.id; setDrawerProps({ confirmLoading: true }); saveData(Object.assign({}, record.value, values)).then((_) => { createMessage.success('操作成功'); closeDrawer(); emit('success'); }); } finally { setDrawerProps({ confirmLoading: false }); } } </script>
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值