diff --git a/gui/src/components/input/EditableList.tsx b/gui/src/components/input/EditableList.tsx index 5bc0c51d..16541584 100644 --- a/gui/src/components/input/EditableList.tsx +++ b/gui/src/components/input/EditableList.tsx @@ -5,7 +5,7 @@ import { useStore } from 'zustand'; import { OnnxState, StateContext } from '../../state'; -const { useContext, useState } = React; +const { useContext, useState, memo, useMemo } = React; export interface EditableListProps { // items: Array; @@ -21,21 +21,20 @@ export interface EditableListProps { } export function EditableList(props: EditableListProps) { - const state = mustExist(useContext(StateContext)); - const items = useStore(state, props.selector); + const { newItem, renderItem, setItem, selector } = props; - const { newItem, renderItem, setItem } = props; + const state = mustExist(useContext(StateContext)); + const items = useStore(state, selector); const [nextLabel, setNextLabel] = useState(''); const [nextSource, setNextSource] = useState(''); + const RenderMemo = useMemo(() => memo(renderItem), [renderItem]); return {items.map((model, idx) => - {renderItem({ - model, - onChange(t) { - setItem(t); - }, - })} + diff --git a/gui/src/components/input/model/ExtraNetwork.tsx b/gui/src/components/input/model/ExtraNetwork.tsx index 7e0cb781..1cc652ef 100644 --- a/gui/src/components/input/model/ExtraNetwork.tsx +++ b/gui/src/components/input/model/ExtraNetwork.tsx @@ -45,6 +45,7 @@ export function ExtraNetworkInput(props: ExtraNetworkInputProps) { > ckpt safetensors + bin { onChange({