如何使用select使用Angular 9、Node JS、Express和MySQL将数据发布到后端

如何使用select使用Angular 9、Node JS、Express和MySQL将数据发布到后端,angular,Angular,我有一个表单,用户可以在其中更新用户信息。我想更改html格式,这样用户就可以从下拉菜单中选择选项,而不是输入字符串。我有这样做的一般想法,但我仍停留在数据绑定上。在原始表单中,用户将以他们来自的状态输入,我有以下代码 <mat-form-field> <input matInput type="text" id="user_state" name="user_sta

我有一个表单,用户可以在其中更新用户信息。我想更改html格式,这样用户就可以从下拉菜单中选择选项,而不是输入字符串。我有这样做的一般想法,但我仍停留在数据绑定上。在原始表单中,用户将以他们来自的状态输入,我有以下代码

          <mat-form-field>

                    <input matInput type="text" id="user_state" name="user_state" 
                     placeholder="SC" [(ngModel)]="user.user_state" required>

          </mat-form-field>


我知道我正在使用ngModel指令的数据绑定,如何将其转换为select options格式,然后将用户选择的数据发送到后端?

您可以在这里找到的官方角度文档下拉列表。 正如我所说,您需要一个数组来显示数据

比如像这样

export class AppComponent  {

  constructor() {}
  
  countries: any = [
    {
      full: "Great Britain",
      short: "GB"
    },
    {
      full: "United States",
      short: "US"
    },
    {
      full: "Canada",
      short: "CA"
    }
  ];
  selectedCountry: string = "GB";
  
  selectedCountryControl = new FormControl(this.selectedCountry);

}
这是HTML。 角度材质-材质选择示例


模型形式
值字符串
大不列颠
美国
加拿大
选定={{selectedCountry}
有关更多信息,请参见这里的
stackblitz

您可以在这里找到有关下拉列表的官方角度文档。 正如我所说,您需要一个数组来显示数据

比如像这样

export class AppComponent  {

  constructor() {}
  
  countries: any = [
    {
      full: "Great Britain",
      short: "GB"
    },
    {
      full: "United States",
      short: "US"
    },
    {
      full: "Canada",
      short: "CA"
    }
  ];
  selectedCountry: string = "GB";
  
  selectedCountryControl = new FormControl(this.selectedCountry);

}
这是HTML。 角度材质-材质选择示例


模型形式
值字符串
大不列颠
美国
加拿大
选定={{selectedCountry}
有关更多信息,请参见这里的
stackblitz

下拉列表有哪些内容?如果你说下拉菜单选项选择,首先你需要有一个数组来显示那里的数据。然后处理输入或所选值以及发送到后端的值。我将为您添加一个包含一些数据的下拉列表。下拉列表有哪些内容?如果你说下拉菜单选项选择,首先你需要有一个数组来显示那里的数据。然后处理输入或所选值以及发送到后端的值。我将为您添加一个包含一些数据的下拉列表。@ThomasKremer没问题,请告诉我它是否适合您。如果你不能更进一步,你可以写信给我,我会回答你。创建一个stackblitz并在那里发布你的代码。在此stackblitz中粘贴您的代码。@ThomasKremer我没有看到您在stackblitz中的更改。您可以共享链接吗?我会在那里查看。@ThomasKremer没有看到任何内容。请保存您的数据,然后给我链接。@ThomasKremer我会为您简化,然后给出正确的答案。@ThomasKremer没有问题,如果有问题,请告诉我它适合你。如果你不能更进一步,你可以写信给我,我会回答你。创建一个stackblitz并在那里发布你的代码。在此stackblitz中粘贴您的代码。@ThomasKremer我没有看到您在stackblitz中所做的更改。您可以共享链接吗?我将在那里查看。@ThomasKremer没有看到任何内容请保存您的数据,然后给我链接。@ThomasKremer我将为您简化,然后给出正确的答案。