利用数据字典进行翻译
1.自定义翻译,即数据存取都是value,但是展示label。(例如表格中展示出来的数据是0,1,但应该展示出来的是同意或不同意)。适用于翻译总个数保持不变。
service文件
scopedSlots: { customRender: 'valueRepType' },
getOptionsRepType(): Observable<OptionItem[]>{
const options:OptionItem[]=[
{
value:'A',
label:'极差',
},
{
value:'B',
label:'相对偏差',
}
];
return of(options);
}
index文件
private optionsRepType: OptionItem[] = [];
valueRepType: (cell: any) => {
return <span >{this.optionsRepType.find(x => x.value === cell)?.label}</span>;
},
bM020Service.getOptionsRepType().subscribe(data => {
this.optionsRepType = data;
});
<a-col span={12}>
<a-form-item label='重复性偏差类型'>
{this.addForm021.getFieldDecorator('repType', {})(
<a-select allow-clear options={this.optionsRepType} />
)}
</a-form-item>
</a-col>
2.查数据库中的表进行翻译。将value,label,关系都存在一个表中。根据表中数据的关联进行翻译。优势在于只需要对表进行增删,无需修改代码。
getDicData(codeClass: string): Observable<OptionItem[]> {
return httpHelper.get(this.url_getcode_QMBM, { params: { codeClass: codeClass } }).pipe(
map(data =>
data.map((item: any) => {
item.label = item.codeDesc1Content;
item.value = item.code;
return item;
})
)
);
}
private optionsMethod: OptionItem[] = [];
valueMethod: (cell: any) => {
return <span >{this.optionsMethod.find(x => x.value === cell)?.label}</span>;
},
bM020Service.getDicData('QMBM009').subscribe(data => {
this.optionsMethod = data;
});