You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular15中如何通过HTML为DevExtreme dx-select-box添加‘全选’选项

问题

需要在Angular 15的DevExtreme dx-select-box控件中复刻原生HTML select的效果,原生代码如下:

<select  ng-model="selectedVal" ng-change="selectedValueChanged()">
     <option value="A">All</option>
     <option ng-repeat="item in itemArray" value="{{item.ID}}">{{item.Name}}</option>
</select>

当前的dx-select-box实现代码:

<dx-select-box class="mt-1.5"
      valueExpr="ID"
      displayExpr="Name"
      [dataSource]="itemArray"
      [(value)]="selectedVal"
      (onValueChanged)="selectedValueChanged()">
</dx-select-box>

要求不修改TypeScript中的itemArray,仅通过HTML模板给dx-select-box添加第一个值为'A'的'All'选项。

解决方案

可以通过DevExtreme内置的<dxi-item>标签,直接在dx-select-box内部添加自定义选项,该选项会优先于数据源渲染的选项显示,具体实现代码如下:

<dx-select-box class="mt-1.5"
      valueExpr="ID"
      displayExpr="Name"
      [dataSource]="itemArray"
      [(value)]="selectedVal"
      (onValueChanged)="selectedValueChanged()">
  <!-- 自定义"All"选项 -->
  <dxi-item value="A" text="All"></dxi-item>
</dx-select-box>

关键说明

  • <dxi-item>是DevExtreme下拉类控件的原生自定义项标签,直接嵌套在dx-select-box内部即可生效
  • value属性对应原生select中option的value值(此处设为'A'),text属性对应选项显示的文本(此处设为'All')
  • 由于已设置valueExpr="ID",自定义项的value会自动匹配绑定的selectedVal字段类型,无需额外处理逻辑

内容的提问来源于stack exchange,提问作者Dan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 18:22:38