|
|
@@ -298,18 +298,27 @@ const EditChannel = (props) => {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
- useEffect(() => {
|
|
|
- let localModelOptions = [...originModelOptions];
|
|
|
- inputs.models.forEach((model) => {
|
|
|
- if (!localModelOptions.find((option) => option.label === model)) {
|
|
|
- localModelOptions.push({
|
|
|
- label: model,
|
|
|
- value: model,
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- setModelOptions(localModelOptions);
|
|
|
- }, [originModelOptions, inputs.models]);
|
|
|
+useEffect(() => {
|
|
|
+ // 使用 Map 来避免重复,以 value 为键
|
|
|
+ const modelMap = new Map();
|
|
|
+
|
|
|
+ // 先添加原始模型选项
|
|
|
+ originModelOptions.forEach(option => {
|
|
|
+ modelMap.set(option.value, option);
|
|
|
+ });
|
|
|
+
|
|
|
+ // 再添加当前选中的模型(如果不存在)
|
|
|
+ inputs.models.forEach(model => {
|
|
|
+ if (!modelMap.has(model)) {
|
|
|
+ modelMap.set(model, {
|
|
|
+ label: model,
|
|
|
+ value: model,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ setModelOptions(Array.from(modelMap.values()));
|
|
|
+}, [originModelOptions, inputs.models]);
|
|
|
|
|
|
useEffect(() => {
|
|
|
fetchModels().then();
|