我遇到了与使选定的mat工作相关的树问题(请不要让我问3个问题,因为它们都是相关的)
忽略按钮下方的红色消息只是一个提醒
单击空白区域时,将显示选择选项。
选择后,控件处于无效模式
没有任何控制台/角度误差
这里是组件
import { Component, OnInit } from '@angular/core';
import { FormGroup, FormControl, Validators } from '@angular/forms';
@Component({
selector: 'app-game-round',
templateUrl: './game-round.component.html',
styleUrls: ['./game-round.component.css']
})
export class GameRoundComponent implements OnInit {
moves : string[] = [];
selectedMove: string = 'Rock';
currentRoundInfo = new FormGroup({
moves: new FormControl('', [Validators.required]),
});
constructor(
private router:Router) { }
ngOnInit(): void {
this.backService.getGameMoves()
.subscribe((data: string[]) => {
this.moves = data;
//this.currentRoundInfo.setValue({moves : data}) ;
console.log(`getGameMoves:${this.moves}`);
});
//trying to set a defult value
this.currentRoundInfo.setValue({
moves: 'Paper'
});
}
moveSelected(move: string) {
console.log("moveSelected:" + move) ;
this.selectedMove = move ;
}
onSubmit() {
console.log("next") ;
}
}
这是HTML
<div class="full-width-centered">
<form [formGroup]="currentRoundInfo" (ngSubmit)="onSubmit()">
<div class="full-width" >
<mat-form-field floatLabel="never" appearance="outline">
<mat-label>Select your move:</mat-label>
<mat-select [(value)]="selectedMove" formControlName="moves" placeholder="test placeholder" (selectionChange)="moveSelected($event.value)">
<mat-option *ngFor="let m of moves" [value]="m">
{{m}}
</mat-option>
</mat-select>
</mat-form-field>
</div>
<br>
<div>
<button type="submit">NEXT</button>
</div>
</form>
</div>
我在第一期中发现了另一个问题,但没有给出答案。
Matt-Select直到我点击它才显示
我还尝试了许多其他类似的答案,但没有成功(将floatlabel更改为always并设置占位符值)
似乎“选择”的角度材质默认样式不起作用,所以我决定覆盖它。
.mat-select {
border: 1px solid lightseagreen !important ;
background: lightseagreen;
height: 30px !important;
}
设置默认值是可行的,但由于select不可见,我看不到
//Set de default value
this.currentRoundInfo.setValue({
movesControl: 'rock'
});
要保持选定的值,只需存储在组件属性中,并将其绑定到选择:
<mat-select [(value)]="selectedMove"
更新:重新安装角度/材料并重新启动ng serve
也有帮助
因此,在进行更多造型之后,这就是它的外观:
您需要添加一个区域。区域提供跨异步任务持久化的执行上下文。
import {Component, OnInit, NgZone} from '@angular/core';
constructor(
private router: Router,
private zone: NgZone
) { }
this.backService.getGameMoves()
.subscribe((data: string[]) => {
this.zone.run(() => {
this.moves = data;
});
//this.currentRoundInfo.setValue({moves : data}) ;
console.log(`getGameMoves:${this.moves}`);
});
这应该可以解决您的问题。我无法通过测试来验证,因为我无法访问您的服务或代码链接进行测试,但我已经在自己的类似场景中进行了测试。
我有一个Java应用程序,我使用了Hibernate、Primefaces、JSF、Jquery、Twitterbootstrap和Spring。 我的应用程序中有许多数据表。 我希望DataTable有一个默认的选定项。 primefaces提供了什么方法吗?以下是它现在的样子: 以下是DataTable:
我在谷歌上搜索了一下,没有找到任何关于这个的信息。 我有这个密码。 有这样的数据 输出是这样的。 如何将数据中的第一个选项设置为默认值,以便得到如下结果。
问题内容: 我有一个用于编辑对象的表单,但无法在选择框中选择一个值。 我有一个代表要编辑的json数组,看起来像这样: 现在我同时从另一个如下所示的json数组中填充选择框: 在我的网页内,我正在创建选择框,如下所示: 选择框正在为我填充,但应该选择与中的版本匹配的值。我已经尝试了和,甚至尝试了设置,甚至都行不通。 我已经在Angularjs网站和google上进行了搜索,并浏览了无数教程,但是仍
我有一个用Node.js、express和Mongoose构建的CRUD应用程序。在这个应用程序我有一个表单,和1的输入是一个文件输入上传一个图像。我使用cloudinary、cloudinary storage和multer来处理这些图像。如果用户上传了图像,我可以成功地将其添加到我的数据库中,然后在以后呈现它。我还没弄明白的是,如果在文件输入中没有选择,如何设置默认图像。这是我提交的表格: 下
问题内容: 我有一些单选按钮,我希望其中的一个按钮在页面加载时默认设置为选中状态。我怎样才能做到这一点? 问题答案: XHTML解决方案: 请注意,属性的实际值并不重要。这只是分配的约定。最重要的是,字符串喜欢或没有任何特殊含义。 如果您不希望符合XHTML,则可以将代码简化为:
问题内容: 我在这里看到了Angular select指令的文档:http : //docs.angularjs.org/api/ng.directive :select 。我不知道如何设置默认值。这令人困惑: 选择作为数组中值的标签 这是对象: HTML(工作): 然后我尝试在select元素内添加ng-option属性以设置为默认选项(不起作用)。 我究竟做错了什么? 问题答案: 因此,假设该