You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多选字段手动录入数据无需拉取数据库及国家选项undefined问题咨询

问题根因

你用到的自定义dropdown组件设置了property="item.Name"属性,说明组件需要读取数组元素的Name字段作为展示文本,但你的GetCountry接口返回的是纯字符串集合,没有Name属性,组件找不到对应字段自然会显示undefined。

解决方案

有两种修改方式可选:

方式一:修改后端接口返回结构,适配原有前端配置

调整CountryApiController的GetCountry方法,返回带Name属性的对象集合,和你原有省下拉接口的返回结构保持一致:

[HttpGet]
[ActionName("GetCountry")]
public IEnumerable<object> GetCountry()
{
    return new List<object>
    {
        new { Name = "USA" },
        new { Name = "England" }
    };
}

该方案不需要修改前端cshtml代码,直接适配现有组件配置。

方式二:修改前端组件配置,适配现有后端返回

如果不想改动后端代码,直接调整dropdown的property属性即可,因为后端返回的每个元素本身就是要展示的国家名称,不需要读取子字段:

<dropdown required placeholder="Select Country..." selected="selectedCountry" property="item" method="api/CountryApi/GetCountry">
</dropdown>

只需要把原来的property="item.Name"改为property="item"即可正常显示国家名称。

后续联动逻辑补充
  • 选中国家后添加change监听事件,若选中的是需要沿用旧逻辑的国家,保持原有省、区下拉调用后端接口的逻辑即可
  • 若选中的是需要省、区值相同的国家,直接在前端给省、区下拉赋相同值,不需要调用后端接口,也能满足你仅在html页面处理该逻辑的需求。

内容的提问来源于stack exchange,提问作者burak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 04:36:03