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

DevExtreme Vue如何自定义OK、Cancel等默认按钮标签文本

DevExtreme Vue TagBox 自定义OK/Cancel按钮文本实现方法

TagBox组件未直接暴露修改这两个按钮文本的顶层props,可根据实际需求选择以下两种方式实现自定义,适配本地化或UX优化要求:

方案一:全局本地化配置(适配全项目统一文案场景)

该方式会覆盖项目内所有DevExtreme组件的OK、Cancel按钮默认文本,适合全站本地化适配,仅需在项目入口文件配置一次即可:

// 项目入口文件(main.js/main.ts)
import { loadMessages, locale } from 'devextreme/localization';

// 注入自定义文案
loadMessages({
  zh: { // 替换为你项目使用的语言标识,英文场景填'en'
    OK: '确定',
    Cancel: '取消'
    // 可在此处扩展其他DevExtreme组件的本地化文案
  }
});

// 激活对应语言配置
locale('zh');

配置生效后,包括TagBox、DataGrid筛选弹窗、Popup组件在内所有带OK/Cancel默认按钮的组件,都会使用你自定义的文本。

方案二:单组件独立配置(仅修改当前TagBox按钮文本)

如果不希望影响全局组件的默认文案,可通过TagBox的dropDownOptions属性重写下拉面板的按钮配置,单独指定当前组件的按钮文本:

<template>
  <DxTagBox
    :data-source="optionList"
    v-model:value="selectedTags"
    apply-value-mode="useButtons"
    :drop-down-options="customDropDownConfig"
  />
</template>

<script setup>
import { ref } from 'vue';
import { DxTagBox } from 'devextreme-vue/tag-box';

const selectedTags = ref([]);
const optionList = ref([/* 你的选项数据源 */]);
const customDropDownConfig = ref({
  buttons: [
    {
      name: 'cancel',
      text: '取消',
      onClick: (e) => e.component.hide() // 保留默认关闭下拉面板逻辑
    },
    {
      name: 'apply',
      text: '确定',
      type: 'default',
      onClick: (e) => {
        // 保留默认确认选值、关闭面板逻辑
        const tagBoxInstance = e.component.$parent.option('ownerInstance');
        tagBoxInstance.saveValueEditState();
        e.component.hide();
      }
    }
  ]
})
</script>

注意:使用单组件配置时必须保留按钮原有点击逻辑,否则会出现点击按钮无响应的问题。如果需要给按钮增加自定义交互(比如选值后做额外校验),直接在对应onClick回调里补充逻辑即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 15:18:15