Материал мат-выбрать имя атрибута - PullRequest
0 голосов
/ 30 декабря 2018

Я работаю над простой формой, конвертирующей ее из начальной загрузки в Material.

Хотя я работаю с Angular 6, форма отправляется в старом стиле при отправке (без использования угловых форм)

<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 при отправке этой формы (никакой формы на основе шаблона ИЛИ реактивной формы).

the input прекрасно работает с добавлением атрибута name к imput, и когда я отправляю форму (нажмите на кнопку отправки), она отправляется на сервер, как и ожидалось.

, как для mat-select, этоданные не отправляются на сервер в данных поста.Я предполагаю, что первый является родным input, где mat-select является компонентом.

Есть ли способ заставить эту работу?(опять же, без обработки формы POST на стороне TS)

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

Нет, вы не можете этого достичь.

В отличие от поля input, mat-select является угловым компонентом, состоящим из div и span.

enter image description here

Вы можете отправлять только связанное с ним значение.

0 голосов
/ 30 декабря 2018

Нашел ответ.

Просто используйте родной select, как это:

<select matNativeControl placeholder="user-type" name="usertype" required>
  <option value="" disabled selected></option>
  <option value="type1">type1</option>
  <option value="type2">type2</option>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...