概述
Field.lookup(obj),目标对象已声明 nameField + titleFormat,但目标对象另有 autonumber 字段时,记录页头/明细里的 lookup chip 显示成 autonumber 编号(如 0001),而非名称。对照:目标对象无 autonumber 时正常显示名称;且同一字段在新建表单选择器里显示名称 —— chip 与 picker 两处解析不一致。
定位
- chip 走本地启发式
pickRecordDisplayName(packages/fields/src/index.tsx:30, 70-77),_number / _code 后缀命中 autonumber,盖过 nameField/titleFormat。 - picker 走正确的
getRecordDisplayName(nameField/titleFormat)。
→ 两路解析不一致导致显示错误。
期望
lookup 显示值解析优先级统一为 displayField > nameField/titleFormat > primaryField/autonumber;至少保证记录页头 chip 与选择器一致。
规避
lookup 显式指定 displayField。
来源(项目 dogfood):steedos-labs/os-tianshun-mtc#32
概述
Field.lookup(obj),目标对象已声明nameField+titleFormat,但目标对象另有 autonumber 字段时,记录页头/明细里的 lookup chip 显示成 autonumber 编号(如0001),而非名称。对照:目标对象无 autonumber 时正常显示名称;且同一字段在新建表单选择器里显示名称 —— chip 与 picker 两处解析不一致。定位
pickRecordDisplayName(packages/fields/src/index.tsx:30, 70-77),_number/_code后缀命中 autonumber,盖过 nameField/titleFormat。getRecordDisplayName(nameField/titleFormat)。→ 两路解析不一致导致显示错误。
期望
lookup 显示值解析优先级统一为
displayField > nameField/titleFormat > primaryField/autonumber;至少保证记录页头 chip 与选择器一致。规避
lookup 显式指定
displayField。来源(项目 dogfood):steedos-labs/os-tianshun-mtc#32