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

如何从SP.FieldLookupValue对象中获取存储的属性值?

正确获取SP.FieldLookupValue中存储值的方法

嘿,别直接去碰那个$1E_1属性啦!那些带$前缀的属性都是SharePoint JSOM里的内部私有属性,它们的命名完全不固定——SharePoint版本更新的时候,这些属性名可能会突然改变,直接依赖它们的话,你的代码很容易在某次更新后就挂掉。

正确姿势:用官方公开的API方法

SP.FieldLookupValue提供了专门的getter方法来安全获取值,完全不用理那些内部属性:

  • 如果你要获取显示文本(就是你看到的"KARNATAKA"),用get_lookupValue()
  • 如果你要获取Lookup对应的ID,用get_lookupId()

结合你的代码场景优化

你现在的代码是新建了一个FieldLookupValue对象并设置了lookupId,但这个新建的对象里其实还没有加载显示值("KARNATAKA")。正确的流程应该是从列表项中直接获取已经填充好的FieldLookupValue对象,再调用方法:

// 假设你已经获取到了目标列表项listItem
var projectNumberLookup = listItem.get_item('你的Lookup字段内部名称');

// 获取显示值(比如"KARNATAKA")
var lookupDisplayText = projectNumberLookup.get_lookupValue();

// 获取Lookup ID
var lookupId = projectNumberLookup.get_lookupId();

如果确实需要手动构建FieldLookupValue对象并填充显示值,你可以用set_lookupValue()方法来设置:

var projectNumberLookup = new SP.FieldLookupValue();
var projLookupId = listItemState;
projectNumberLookup.set_lookupId(projLookupId);
// 手动设置显示值
projectNumberLookup.set_lookupValue("KARNATAKA");

// 之后获取显示值
var s = projectNumberLookup.get_lookupValue();

记住,永远优先使用官方提供的公开API方法,这是保证代码稳定性的最佳实践!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:32:42