fix(web): recover vehicle option lookups

This commit is contained in:
lingniu
2026-07-16 07:38:39 +08:00
parent 25e8427882
commit e9b7c0d31f
5 changed files with 37 additions and 2 deletions

View File

@@ -113,11 +113,12 @@ function VehiclePicker({ value, onChange, onSelect }: { value: string; onChange:
{open ? <div className="v2-track-vehicle-options" role="listbox">
<header><span></span><em> VIN</em></header>
{candidates.isFetching ? <p><span className="v2-spinner" /></p> : null}
{!candidates.isFetching && candidates.isError ? <div className="v2-vehicle-option-error" role="alert"><span>{candidates.error instanceof Error ? candidates.error.message : '车辆候选加载失败'}</span><button type="button" onMouseDown={(event) => event.preventDefault()} onClick={() => void candidates.refetch()}></button></div> : null}
{!candidates.isFetching && (candidates.data?.items ?? []).map((vehicle) => <button
type="button" role="option" aria-selected={false} key={vehicle.vin}
onMouseDown={(event) => event.preventDefault()} onClick={() => { onSelect(vehicle); setOpen(false); }}
><strong>{vehicle.plate || '未绑定车牌'}</strong><span>{vehicle.vin}</span><em></em></button>)}
{!candidates.isFetching && !(candidates.data?.items.length) ? <p></p> : null}
{!candidates.isFetching && !candidates.isError && !(candidates.data?.items.length) ? <p></p> : null}
</div> : null}
</div>;
}