fix(iot): 修复 scene 表单 vue-tsc 3 处类型错误
- ele device-control-config:
- defaultParams 类型显式为 Record<string, any> ;
param.identifier 可能为 undefined 时跳过赋值
- ElOption :value="service.identifier" 改为非空断言 service.identifier!
- ele json-params-input:getParamTypeTag 用 as const 让 TS 自动推断字面值
联合('primary' | 'success' | 'info' | 'warning' | 'danger'),传给
ElTag.type 不再报错
- antd value-input:handleNumberChange 参数改为 any 内部 String 转换
(AntD InputNumber @change 类型为 ValueType = string | number ,
原 number | undefined 报错)
pull/345/head
parent
e7361a60ec
commit
df8e23542b
|
|
@ -132,9 +132,9 @@ function handleDateChange(value: any) {
|
|||
localValue.value = value || '';
|
||||
}
|
||||
|
||||
/** 处理数字变化事件 */
|
||||
function handleNumberChange(value: number | undefined) {
|
||||
localValue.value = value?.toString() || '';
|
||||
/** 处理数字变化事件 ;InputNumber 回调值类型为 ValueType(string | number) */
|
||||
function handleNumberChange(value: any) {
|
||||
localValue.value = value == null ? '' : String(value);
|
||||
}
|
||||
|
||||
/** 监听操作符变化 */
|
||||
|
|
|
|||
|
|
@ -125,8 +125,9 @@ function handleServiceChange(serviceIdentifier?: any) {
|
|||
|
||||
// 如果选择了服务且有输入参数,生成默认参数结构
|
||||
if (service && service.inputParams && service.inputParams.length > 0) {
|
||||
const defaultParams = {};
|
||||
const defaultParams: Record<string, any> = {};
|
||||
service.inputParams.forEach((param) => {
|
||||
if (!param.identifier) return;
|
||||
defaultParams[param.identifier] = getDefaultValueForParam(param);
|
||||
});
|
||||
// 将默认参数转换为 JSON 字符串保存
|
||||
|
|
@ -376,7 +377,7 @@ watch(
|
|||
v-for="service in serviceList"
|
||||
:key="service.identifier"
|
||||
:label="service.name"
|
||||
:value="service.identifier"
|
||||
:value="service.identifier!"
|
||||
>
|
||||
<div class="flex items-center justify-between">
|
||||
<span>{{ service.name }}</span>
|
||||
|
|
|
|||
|
|
@ -305,7 +305,7 @@ function getParamTypeName(dataType: string) {
|
|||
* @returns 标签样式
|
||||
*/
|
||||
function getParamTypeTag(dataType: string) {
|
||||
const tagMap: Record<string, string> = {
|
||||
const tagMap = {
|
||||
[IoTDataSpecsDataTypeEnum.INT]: 'primary',
|
||||
[IoTDataSpecsDataTypeEnum.FLOAT]: 'success',
|
||||
[IoTDataSpecsDataTypeEnum.DOUBLE]: 'success',
|
||||
|
|
@ -315,8 +315,8 @@ function getParamTypeTag(dataType: string) {
|
|||
[IoTDataSpecsDataTypeEnum.DATE]: 'primary',
|
||||
[IoTDataSpecsDataTypeEnum.STRUCT]: 'info',
|
||||
[IoTDataSpecsDataTypeEnum.ARRAY]: 'warning',
|
||||
};
|
||||
return tagMap[dataType] || 'info';
|
||||
} as const;
|
||||
return tagMap[dataType as keyof typeof tagMap] || 'info';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue