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

在Vue中实现选中国家时显示对应国旗的下拉选择功能

Vue实现带国旗的国家下拉选择框

需求:在选择国家时,下拉选择框的选项中显示对应国家的国旗,基于Vue框架完成。

实现说明及代码

依赖准备

需要引入Vue、Vuetify框架,以及包含em-flag-xx类名的国旗字体图标库,用于渲染国旗样式。

HTML结构

<div id="app">
  <v-app class="container">
    <v-select
      v-model="select"
      :items="countries"
      label="选择国家"
      item-text="name"
    >
      <template v-slot:item="slotProps">
        <i :class="['mr-2', 'em', slotProps.item.flag]"></i>
        {{ slotProps.item.name }}
      </template>
    </v-select>
  </v-app>
</div>

JavaScript逻辑

new Vue({
  el: '#app',
  vuetify: new Vuetify(),
  data: {
    select: null,
    countries: [
      {
        name: "阿尔巴尼亚",
        flag: "em-flag-al"
      },
      {
        name: "安圭拉",
        flag: "em-flag-ai"
      }
    ]
  }
})

核心实现要点

  • 用v-select组件搭建下拉选择框,通过:items绑定国家数据源
  • 利用v-slot:item插槽自定义选项布局,在每个国家名称前插入对应国旗图标
  • 通过:class动态绑定国旗类名,结合字体图标库渲染出对应国家的国旗样式

内容的提问来源于stack exchange,提问作者Sa'ad Abdurrazzaq

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 18:48:24