首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >材料材质-选择名称属性

材料材质-选择名称属性
EN

Stack Overflow用户
提问于 2018-12-30 09:59:59
回答 3查看 3.4K关注 0票数 1

我正在做一些简单的形式转换它从引导到材料。

尽管我使用的是Angular 6,但表单在提交时是老式的(不使用angular表单)

代码语言:javascript
复制
<form method="post" action="http://api.example.com/submit" id="user_form">

   <mat-form-field>
      <input matInput placeholder="name" name="username">
   </mat-form-field>


   <mat-form-field>
      <mat-select placeholder="user-type" name="usertype">
         <mat-option value="type1">type1</mat-option>
         <mat-option value="type2">type2</mat-option>
      </mat-select>
   </mat-form-field>

   <button type="submit">submit</button>

</form>

为了简单起见,我希望保持这种方式,并且在提交此表单时不使用任何javascript (没有模板驱动的表单或反应式表单)。

input可以很好地将name属性添加到imput中,当我发布表单(单击submit按钮)时,它会按预期发送到服务器。

对于mat-select,此数据不会在post数据中发送到服务器。我猜前者是原生input,而mat-select是一个组件。

有没有办法做到这一点?(同样,不在TS端处理表单张贴)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-12-30 10:10:32

找到答案了。

只需像这样使用原生select

代码语言:javascript
复制
<select matNativeControl placeholder="user-type" name="usertype" required>
  <option value="" disabled selected></option>
  <option value="type1">type1</option>
  <option value="type2">type2</option>
</select>
票数 2
EN

Stack Overflow用户

发布于 2018-12-30 10:11:16

不,你无法做到这一点。

input场不同,mat-select是由divspan组成的角度分量。

您只能发送它的绑定值。

票数 1
EN

Stack Overflow用户

发布于 2021-03-09 18:55:01

有一种方法可以直接将name属性设置为mat-select元素。

为了实现它,你需要使用一个[attr.name]结构。最后,代码将如下所示。

代码语言:javascript
复制
   <mat-form-field>
      <mat-select placeholder="user-type" [attr.name]="'usertype'">
         <mat-option value="type1">type1</mat-option>
         <mat-option value="type2">type2</mat-option>
      </mat-select>
   </mat-form-field>

演示:stackblitz.com

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53974757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档