in src/ui/editor/complex/AExperience.tsx [44:79]
element() {
if(!this.props.schema.experience) {
return MUtil.error("experience未定义", this.props.schema);
}
// 复用AArrayGrid,下面构造个schema给它
const arrayGridSchema:MFieldSchemaAnonymity = {
type:"array",
dataFormat: this.props.schema.dataFormat,
arrayMember:{
type:"object",
objectFields:[
{name: RANGE_FNAME, type: "dateRange", label:"起止时间", dateRange: this.props.schema.dateRange },
...this.props.schema.experience.members
]
}
};
// 转换一套数据给arrayGrid
let data = super.getValue();
if(!_.isArray(data)){ // 只接受数组
data = [];
}
const arrayGridData = data.map((e: any)=>{
let a = _.clone(e);
a[RANGE_FNAME] = [e.from, e.to, e.tillNow]
delete a.from;
delete a.to;
delete a.tillNow;
return a
});
return <AArrayGrid key={this.state.ctrlVersion} schema={arrayGridSchema} database={arrayGridData} path=""
morph={this.props.morph}
extra={<Button onClick={()=>{
this._submitData(arrayGridData, true);
}} >自动排序</Button>}