oj-select-one 对所有选项显示未定义

oj-select-one show undefined for all options

我有一个从 REST 获取值的可观察数组

$.getJSON(rootModel.soho()).
        then(function (StudentCourseView1) {
            $.each(StudentCourseView1.items, function () {
                self.data.push({
                    StudentId: this.StudentId,
                    CourseId: this.CourseId,
                    Enrollmentdate :this.Enrollmentdate,
                    Notes :this.Notes,
                    Id : this.Id,
                    CourseName : this.CourseName,
                    StudentName: this.StudentName
                });
            });
                    });
             self.dataSource = new oj.ArrayTableDataSource(
              self.data, 
              {idAttribute: 'Id'}
      );

我已经创建了 select-一个这样的

 <oj-select-one id="select1" style="max-width:20em"
                 options={{data}}
                 value="{{data.Id}}"
                 options-keys="[[data.StudentName]]" >
</oj-select-one>

select 一个显示未定义的所有选项

您确定 ajax 调用有效,并且控制台中没有错误吗?下拉列表是否显示空白值列表?

如果是,那么唯一缺少的元素是添加 option-keys 属性,以解释向用户显示哪些数据,以及每条数据的键。

<oj-select-one id="select1" style="max-width:20em"
                 options={{data}}
                 options-keys="{{optionKeys}}" 
                 value="{{StudentId}}">

JS

//You can change this acc. to your convenience.
self.optionKeys = {value:"Id", label:"StudentName"};