html - Angular 中的数据列表

标签 html angular typescript html-datalist

我有一个 <datalist><select>如下:

更新:

示例 1:

<input type="text"  list="codes" [(ngModel)]="codeValue" (change)="saveCode(codeValue)">
<datalist id="codes">
  <option *ngFor="let c of codeList" [value]="c.code" >{{c.name}}</option>
</datalist>

<select type="text"  list="codes" [(ngModel)]="codeValue1" (change)="saveCode(codeValue)">
  <option *ngFor="let c of codeList" [value]="c.code" >{{c.name}}</option>
</select>

component.ts 中的 codeList 数组

    codeList = [
    { code: 'abcdhe568dhjkldn', name: 'item1' },
    { code: 'ksdkcs7238t8cds', name: 'item2' },
    { code: 'kascggibebbi', name: 'item3' }
  ];

DataList 在选项中显示名称 (c.name) 和值 (c.code) 并存储值中存在的任何内容,而选择显示名称 (c.name) 并存储值 (c.code)。

datalist的行为

Behavior of <dataList>

选择行为

Behavior of <select>

示例 2:

<datalist id="codes">
<option *ngFor = "let i of [1,2,3,4]" [value]="i">{{i-1}}</option>
</datalist>

{{a}}

我想在建议框中显示 i-1 的值,但将变量 'a' 与 i 绑定(bind)。

HTML 中的现有解决方案

来自这篇文章Show datalist labels but submit the actual value我看到我们可以使用“数据值”来 实现 HTML 中的功能。我怎样才能在 Angular 中实现相同的功能。

请帮忙!

提前致谢。

最佳答案

像这样尝试....

html文件

<input type="text"  list="codes" [(ngModel)]="codeValue" (change)="saveCode($event)">
<datalist id="codes">
<option *ngFor="let c of codeList" [value]="c.name" >{{c.name}}</option>
</datalist>

ts 文件

 codeList = [
{ code: 'abcdhe568dhjkldn', name: 'item1' },
{ code: 'ksdkcs7238t8cds', name: 'item2' },
{ code: 'kascggibebbi', name: 'item3' }
];

 public saveCode(e): void {
let name = e.target.value;
let list = this.codeList.filter(x => x.name === name)[0];
console.log(list.id);
}

关于html - Angular 中的数据列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49456071/

相关文章:

html - 仅删除文本区域底部的框阴影

html - W3C 灰度 SVG 过滤器

angular - 运行 ng e2e 时 dist/out-tsc-e2e 在哪里?

尝试生成新组件时出现 Angular 6 "Workspace needs to be loaded before it is used."

javascript - 如何对所有路由 Root 和 Child Routes 使用 angular 6 Route Auth Guards?

angular - PhantomJS 不适用于 Angular2 项目中的 Karma

javascript - 表格标题颜色复选框选中/取消选中

javascript - LAMP:浏览器不支持 ubuntu 中的 javascript

Angular 8 : Make FormBuilder Accept Numbers Only with Range for Latitude and Longitude

javascript - Angular Ionic @ViewChild 失去引用