我正在创建一个带有rallyaddnew按钮的项目组合项目,但我想在创建它之前对其进行修改。例如,我想添加一个特定的父级,并添加一些标签。
我猜我可以修改beforeCreate()事件中的对象。但如果我这样做,我会使用哪种方法?我看到修改record.data.Name实际上似乎有效,但是正确的方法是什么?
对于像父或标签这样的东西,我想我需要一个Rally.util.Ref对象。但同样,修改对象的正确方法是什么?再做一次record.data.Tags.push(ref)以响应beforeCreate事件似乎有点直接......
答案 0 :(得分:2)
使用beforeCreate
侦听器,您将获得要修改的记录:
var addNew = Ext.widget('rallyaddnew', {
recordTypes: ['User Story'],
ignoredRequiredFields: ['Name', 'ScheduleState', 'Project'],
listeners: {
beforeCreate: function(addNewComponent, record) {
record.set('Name', 'new name');
record.set('Parent', '/hierarchicalrequirement/123.js')
}
}
});
因此,使用record.set
函数来设置数据,对于像Parent
这样的引用的属性,你应该使用引用字符串,如/hierarchicalrequirement/123.js
(如果你有记录,你)可以使用record.get('_ref')
获得引用。