// onCreate model event handler (takes about-to-create record as parameter)
var query = app.models.Directory.newQuery();
// assuming that email field value is populated by UserPicker widget on client-side
query.filters.PrimaryEmail._equals = record.Email;
var people = query.run();
if (people.length === 1) {
var person = people[0];
record.FullName = person.FullName;
record.PrimaryPhone = person.PrimaryPhone;
} else {
// TODO: handle edge cases
}
如果您对安全性没有偏执,您可以:
配置UserPicker以选择整个对象(选中'valueIsRecord'属性复选框) .
处理onValueEdit UserPicker小部件事件:
// onValueEdit UserPicker event
// assuming that widget is bound to datasource's create mode item
var draft = widget.datasource.item;
draft.Email = newValue.PrimaryEmail;
draft.FullName = newValue.FullName;
draft.PrimaryPhone = newValue.PrimaryPhone;
1 回答
如果您担心安全性和数据一致性,那么您可以使用服务器端实现:
如果您对安全性没有偏执,您可以:
配置UserPicker以选择整个对象(选中'valueIsRecord'属性复选框) .
处理onValueEdit UserPicker小部件事件: