【问题标题】:how can i add a field in a form of a model from another distinct model in angular?如何从另一个不同的角度模型中添加模型形式的字段?
【发布时间】:2019-03-17 00:09:51
【问题描述】:

我有一个数据列表,我想从中选择一个对象并将其添加到另一个对象中:

这是第一个模型:

export class missionnaire {    
    cin : String ;      
    graade :grade;  
    constructor(cin? : String ,graade ?:grade) {
        this.graade= new grade() ;   
    }; 
}

这是另一个模型:

export class grade {
    constructor(public code? : String ,
        public liba? : String , 
        public libfr?  :String ) {} 
}

在“missionaire.html”中我有:

 <form [formGroup]="missionnaireF">
      <div class="form-group col-md-12">
           <label> grade </label>
           <input type = "text" class="form-control" id="search3" name="search3" list="list3" formControlName="graade" >
           <datalist id="list3">
           <option *ngFor="let grade of grades" data-value="grade" [value]="grade.liba">
           </datalist>
           </div>
   
   <div class="form-group col-md-12">
      <label >cin </label>
      <input type="text" class="form-control" formControlName="cin" name="cin"  maxlength="8">
   </div>
</form>

这是 json post 请求,在后面工作得很好:

{
        "cin": 88663344,
        "grade": {
            "idgrade": 1,
            "libGradeAr": "grade",
            "libGradeFr": "grade",
            "codeGrade": 1
        }
}

【问题讨论】:

  • 提问时,请将相关代码发布到问题中,而不是作为图片链接,这只会让人们更难提供帮助:)
  • 好吧,我猜你是对的,我就删掉这个再问!
  • 你不需要删除它,问题的底部是一个编辑按钮,所以你可以修改这个:)
  • data-value="grade" 。您错过了结束引号。
  • @jason 哦,我希望是这样,但我只是想念他们在这里写这段代码

标签: html angular model datalist


【解决方案1】:
interface Grade {
    idgrade?: number;
    libGradeAr?: string;
    libGradeFr?: string;
    codeGrade?: number;
}
class Missionnaire {  
    grade: Grade;
    constructor(grade?: Grade, public cin?: number) {
        this.grade = grade;
    }
}
let obj = {
        "cin": 88663344,
        "grade": {
            "idgrade": 1,
            "libGradeAr": "grade",
            "libGradeFr": "grade",
            "codeGrade": 1
        }
}
let grd: Grade = obj.grade;
console.log(grd)
let x = new Missionnaire(grd, obj.cin);
console.log(x)

我假设这是您想要做的。您可以将 Grade 更改为界面而不是 Class(您可以将 Grade 用作 Base Class,Missionaire 用作 Super Class)。其余的很简单。

【讨论】:

    猜你喜欢
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    相关资源
    最近更新 更多