diff --git a/UPDATELOG.md b/UPDATELOG.md index baa46676..363a16f9 100644 --- a/UPDATELOG.md +++ b/UPDATELOG.md @@ -10,6 +10,7 @@ - 修复导入订阅时非 http 协议链接被错误尝试导入 - 修复切换节点后页面长时间 loading 及缓存过期导致的数据不同步问题 - 修复将快捷键名称更名为 `Clash Verge`之后无法删除图标和无法删除注册表 +- 修复`DNS`覆写服务器支持默认留空 ### ✨ 新增功能 diff --git a/src/components/setting/mods/dns-viewer.tsx b/src/components/setting/mods/dns-viewer.tsx index 625e88eb..10e475e8 100644 --- a/src/components/setting/mods/dns-viewer.tsx +++ b/src/components/setting/mods/dns-viewer.tsx @@ -442,7 +442,7 @@ export const DnsViewer = forwardRef((props, ref) => { // 解析列表字符串为数组 const parseList = (str: string): string[] => { - if (!str) return []; + if (!str?.trim()) return []; return str .split(",") .map((item) => item.trim()) @@ -472,28 +472,17 @@ export const DnsViewer = forwardRef((props, ref) => { ipcidr: parseList(values.fallbackIpcidr), domain: parseList(values.fallbackDomain), }, - }; - // 只在有值时添加其他可选字段 - if (values.fallback) { - dnsConfig["fallback"] = parseList(values.fallback); - } + fallback: parseList(values.fallback), + "proxy-server-nameserver": parseList(values.proxyServerNameserver), + "direct-nameserver": parseList(values.directNameserver), + }; const policy = parseNameserverPolicy(values.nameserverPolicy); if (Object.keys(policy).length > 0) { dnsConfig["nameserver-policy"] = policy; } - if (values.proxyServerNameserver) { - dnsConfig["proxy-server-nameserver"] = parseList( - values.proxyServerNameserver, - ); - } - - if (values.directNameserver) { - dnsConfig["direct-nameserver"] = parseList(values.directNameserver); - } - return dnsConfig; };