我有<mat select>多种选择.但是我需要知道选择何时发生变化,确切的变化是什么.
例如,如果我有一个列表:
<mat-select (selectionChange)="change($event)" multiple placeholder="Select">
<mat-option value="1">one</mat-option>
<mat-option value="2">two</mat-option>
<mat-option value="3">three</mat-option>
<mat-option value="4">four</mat-option>
</mat-select>
Run Code Online (Sandbox Code Playgroud)
何时multiple触发它返回新选择的内容.但我需要知道正在改变的新价值是什么.我该如何访问?
例如,如果选择1和3然后用户选择4,我需要知道他们选择了4但我没有看到在事件信息中访问它的方法.
https://stackblitz.com/edit/angular-1e9gsd?file=app/select-overview-example.ts
我尝试将selectionChange部件放在上面,one但它似乎不是受支持的事件触发器.
为什么这不起作用?我尝试导入角度网站上显示的MomentDateAdapter,但Visual Studio Code一直抱怨它无法找到@ angular/material-moment-adapter.我究竟做错了什么?
版本信息:Angular CLI:1.5.0节点:6.11.0操作系统:darwin x64 Angular:4.4.6 ...动画,通用,编译器,编译器 - cli,核心,表单... http,语言服务,平台 - 浏览器...平台 - 浏览器动态,路由器,tsc包裹
@ angular/cdk:2.0.0-beta.12 @ angular/cli:1.5.0 @ angular/material:2.0.0-beta.12 @ angular-devkit/build-optimizer:0.0.32 @ angular-devkit/core :0.0.20 @ angular-devkit/schematics:0.0.35 @ ngtools/json-schema:1.1.0 @ ngtools/webpack:1.8.0 @ schematics/angular:0.1.1 typescript:2.3.4 webpack:3.8.1
我在服务器上设置了一个基于 Java 的 API。 URL = "ex.com"
它有一个返回 PDF 文件的端点。 URL = "ex.com/pdf"
它需要一个带有参数的 POST 请求,该参数指定正在请求哪个 PDF。 params = { location: "report.pdf"}
我希望能够使用 Angular Http.post observable 来获取 PDF,但它不断抛出 HttpErrorResponse Http failure during parsing for http://ex.com/pdf... Unexpected token % in JSON at position 0 at JSON.parse。但它是一个 PDF,我不希望它被解析为 JSON。
这是我的代码:
params = {location: "report.pdf"};
return this.http.post<Response>("http://ex.com/pdf", params)
.subscribe(
data => {
var file = new Blob([data], {type: 'application/pdf'});
var fileURL = URL.createObjectURL(file);
window.open(fileURL);
}
);
Run Code Online (Sandbox Code Playgroud)
端点与 PostMan 一起使用。我可以使用“发送和下载”选项成功获取 PDF 文件。所以我只需要弄清楚如何在 …
我有一个固定宽度的无线电组,我想要按钮标签.我已经尝试将类添加到html的每个部分,并为元素添加"white-space:normal",但它只是忽略它.我怎样才能使它工作?
如果我将这个CSS添加到顶级styles.scss文件,它按预期工作.
.mat-radio-label-content {
white-space: normal;
}
Run Code Online (Sandbox Code Playgroud)
但我想避免这种情况,并保持css仅与特定组件相关,而不是广泛应用.
我遵循了material.angular.io上的示例,了解如何将 moment 与材料日期选择器一起使用,并通过提供 MAT_DATE_FORMATS 来更改默认格式。例子在这里。注意:代码在 stackblitz 中无法正常工作,它似乎忽略了提供的日期格式,但在我的环境中确实可以正常工作。
我的问题是当我访问表单控件的值并将其转换为 JSON 时,它总是输出“2018-01-16T15:44:33.897Z”。我只需要它输出日期“2018-01-16”。此外,我希望日期选择器根本不添加时间属性。我怎样才能按照我想要的方式进行这项工作?
我知道你可以调用 moment 的format函数并以任何你想要的方式格式化日期,但我的表单有很多字段,我更愿意只发送form.value到我的 api。如果我想使用 moment 的format函数,我将不得不迭代每个控件,检查它的类型,获取值并单独格式化它,将所有值收集到一个对象中,然后将其发送到我的 api,这是很多额外的编码所以我可以格式化日期控件。
我完全复制了Angular Material 电子邮件示例.它有提示文本和错误文本.我的问题是错误文本会覆盖提示文本.如何保留提示文本?
如果我尝试将其更改为简单的跨度标记,则会使控件混乱.
我正在尝试使用日期选择器。我对复选框或单选按钮没有问题。但是当我尝试添加日期选择器时,我总是收到此错误:
错误:模板解析错误:无法绑定到“htmlFor”,因为它不是“md-datepicker-toggle”的已知属性
在我的 app.module.ts 文件中:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { MdButtonModule,
MdCheckboxModule,
MdCardModule,
MdRadioModule,
MdDatepickerModule } from '@angular/material';
import { AppComponent } from './app.component';
import { WeekControlComponent } from './week-control.component';
@NgModule({
declarations: [
AppComponent,
WeekControlComponent
],
imports: [
BrowserModule,
FormsModule,
MdButtonModule,
MdCheckboxModule,
MdCardModule,
MdRadioModule,
MdDatepickerModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)
我有一个 WeekControlComponent:
HTML<input mdInput [mdDatepicker]="picker" placeholder="Choose a date">
<md-datepicker-toggle mdSuffix [for]="picker"></md-datepicker-toggle>
<md-datepicker #picker></md-datepicker>
Run Code Online (Sandbox Code Playgroud)
TS … 我希望能够有选择地向输入添加自动完成功能。
目前,我已经尝试*ngIf在垫子自动完成标记中添加一个,但由于输入具有该matAutocomplete属性并且正在寻找自动完成组件,因此会引发错误。我matAutocomplete还想将自动完成功能设置为null,但这不起作用。
这是我的累:
但是我得到:
Error: Attempting to open an undefined instance of `mat-autocomplete`.
Run Code Online (Sandbox Code Playgroud)
这就是我想要的工作方式:
但是不必重复输入和表单字段标签。
我明白这不是最好的帖子。但是我在材质多选自定义触发器示例中看到了这行代码。
*ngIf="toppings.value?.length > 1"
https://stackblitz.com/angular/omvmgjjbnnq?file=app%2Fselect-custom-trigger-example.html
我不明白什么是“?” 在这里做,我什至很难用谷歌搜索它可能是什么(谷歌不喜欢问号)。这是否允许您value安全地调用属性而无需检查是否value已定义或为空?