我们知道可以使用如下代码添加一条item,其中add方法接受一个json对象:
sp.web.lists.getByTitle("List Title").items.add({EntityPropertyName: value1, EntityPropertyName: value2}).then(r=>{console.log(r);}).catch(e=>{console.log(e);});
需要在这个json对象中指定field的key:value对,其中需要注意的是,field的唯一标识,也就是key是field的“EntityPropertyName”,而不是field的“InternalName”,如果使用InternalName,只有在InternalName与EntityPropertyName碰巧一致的情况下才能正确写入值,否则会报错。
对于value,不同的field类型的要求不同,具体可以参照下表:
类型 | TypeAsString | 写入值的类型 | 示例 | 简单验证 |
单行文本(single line of text) | Text | 字符串 | ”abc" | 255个字符 |
多行文本(multiple line of text) | Text | 字符串 | "abc" | |
选择(Choice) | Choice | 字符串 | "Choice1" | |
多项选择(Multiple Choice) | MultiChoice | json对象 | {results:["Choice1", "Choice2"]} | |
数字(Number) | Number | 数字(或者可以转换为数字的字符串) | 100或“100” | 数字,最大最小值 |
日期(Date) | DateTime | ISO日期字符串 | "2018-08-08T07:00:00Z" | |
是否(Yes/No) | Boolean | 布尔值 | true或者false | |
超链接(Hyperlink) | URL | json对象 | {Description: "必应", Url:"http://bing.com"} | Url以http://或者https://开头 |
图片(Picture) | URL | json对象 | {Description: "必应", Url:"http://bing.com"} | Url以http://或者https://开头 |
货币(Currency) | Currency | 数字(或者可以转换为数字的字符串) | 100或“100” | 数字,最大最小值 |
用户(People) | 数字 | 用户的id | ||
多值用户(Multi People) | json对象 | {‘results': [id1, id2]} |
其他类型的field会在后续列出。
//单行文本,多行文本,单值选择
sp.web.lists.getByTitle("MyList").items.getById(1).update({Field:"abc"}).then();
//多值选择
sp.web.lists.getByTitle("MyList").items.getById(1).update({MultiChoiceField:["Choice1","Choice2"]}).then();