Ant Design for UI 選擇下拉框

1. 單選框? 與多選框

<template><div class="demo-page" style="padding: 40px; max-width: 1200px; margin: 0 auto; font-family: 'Microsoft YaHei', Arial, sans-serif;"><h1 style="color: #1890ff; text-align: center; margin-bottom: 10px;">📊 下拉框功能演示</h1><p style="text-align: center; color: #666; margin-bottom: 40px;">模擬從后端加載數據 | Vue 2 + ant-design-vue</p><a-spin :spinning="loading" tip="加載數據中..." style="display: block; margin-bottom: 30px;"><div style="background: #f8f9fa; padding: 24px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);display: flex;gap: 24px;align-items: flex-start;"><!-- 單選:選擇省份 --><div style="flex: 1; min-width: 280px;"><label style="display: block; margin-bottom: 8px; color: #333; font-weight: 500;">選擇省份:</label><a-selectv-model="selectedProvince"placeholder="請選擇一個省份"style="width: 100%;"@change="handleProvinceChange"><a-select-option v-for="p in provinces" :key="p.value" :value="p.value">{{ p.label }}</a-select-option></a-select></div><!-- 多選:選擇城市 --><div style="flex: 1; min-width: 280px;"><label style="display: block; margin-bottom: 8px; color: #333; font-weight: 500;">選擇城市(多選):</label><a-selectmode="multiple"v-model="selectedCities"placeholder="請選擇你喜歡的城市"style="width: 100%;":disabled="loading"><a-select-option v-for="c in cities" :key="c.value" :value="c.value">{{ c.label }}</a-select-option></a-select></div></div></a-spin><!-- 顯示結果 --><div style="margin-top: 30px; padding: 20px; background: #e6f7ff; border-radius: 8px; border-left: 4px solid #1890ff;"><h3>🎯 當前選擇結果:</h3><p><strong>選中的省份:</strong> {{ provinceText || '未選擇' }}</p><p><strong>選中的城市:</strong> {{ selectedCities.length ? selectedCities.map(v => cityMap[v]).join(', ') : '未選擇' }}</p></div></div>
</template><script>
export default {name: 'Home',data() {return {loading: true,selectedProvince: undefined,selectedCities: [],provinces: [{ value: 'zhejiang', label: '浙江省' },{ value: 'jiangsu', label: '江蘇省' },{ value: 'guangdong', label: '廣東省' },{ value: 'sichuan', label: '四川省' },{ value: 'shandong', label: '山東省' }],cities: [{ value: 'hangzhou', label: '杭州' },{ value: 'ningbo', label: '寧波' },{ value: 'wenzhou', label: '溫州' },{ value: 'shaoxing', label: '紹興' },{ value: 'nanjing', label: '南京' },{ value: 'suzhou', label: '蘇州' },{ value: 'wuxi', label: '無錫' },{ value: 'guangzhou', label: '廣州' },{ value: 'shenzhen', label: '深圳' },{ value: 'chengdu', label: '成都' }]}},computed: {provinceText() {const p = this.provinces.find(item => item.value === this.selectedProvince)return p ? p.label : ''},cityMap() {const map = {}this.cities.forEach(c => { map[c.value] = c.label })return map}},methods: {handleProvinceChange(value) {console.log('選擇了省份:', value)}},created() {setTimeout(() => {this.loading = false}, 1200)}
}
</script><style scoped>
/* ? 使用 :deep() 替代 /deep/,現代寫法 */
:deep(.ant-select-arrow) {color: black !important;opacity: 1 !important;
}:deep(.ant-select-arrow::before) {content: '>' !important;color: black !important;font-weight: 600;font-size: 14px;transform: rotate(90deg);transition: transform 0.3s;
}:deep(.ant-select-selection:hover .ant-select-arrow::before) {color: #1890ff !important; /* 懸停變藍色,專業 */
}:deep(.ant-select-open .ant-select-arrow::before) {transform: rotate(-90deg) !important;
}/* 美化多選標簽 */
:deep(.ant-select-selection__choice) {background-color: #1890ff !important;border-color: #1890ff !important;height: 24px;line-height: 22px;
}:deep(.ant-select-selection__choice__content) {color: white !important;
}<style scoped>
/* 設置下拉框輸入框背景為白灰色 */
:deep(.ant-select-selection),
:deep(.ant-select-selection--multiple) {background-color: #f0f0f0 !important; /* 白灰色背景,可以根據需要調整色值 */
}/* 可選:為懸停和聚焦狀態設置不同的背景顏色 */
:deep(.ant-select-selection:hover),
:deep(.ant-select-selection:focus) {background-color: #e0e0e0 !important; /* 懸停或聚焦時稍微深一點的白灰色 */
}
</style>

2. 下拉框純靜態展示

<template><div class="demo-page" style="padding: 40px; max-width: 1200px; margin: 0 auto; font-family: 'Microsoft YaHei', Arial, sans-serif;"><h1 style="color: #1890ff; text-align: center; margin-bottom: 10px;">📋 下拉框值展示(點擊展開)</h1><p style="text-align: center; color: #666; margin-bottom: 40px;">點擊展開展示下拉框中的所有可選值 | 靜態展示</p><!-- 🔹 展示所有省份 --><div style="display: flex; justify-content: space-between; margin-bottom: 20px;"><div style="display: flex; align-items: center; gap: 16px; width: 45%;"><span style="font-weight: 500; color: #333;">所有可選省份:</span><a-popover placement="bottomLeft" trigger="click"><template slot="content"><div style="max-height: 200px; overflow-y: auto; padding: 8px; width: 200px;"><div v-for="p in provinces" :key="p.value">{{ p.label }}</div></div></template><a-button type="link">點擊查看</a-button></a-popover></div><!-- 🔹 展示所有城市 --><div style="display: flex; align-items: center; gap: 16px; width: 200px;"><span style="font-weight: 500; color: #333;">所有可選城市:</span><a-popover placement="bottomLeft" trigger="click"><template slot="content"><!-- ? 在這里設置彈出面板的寬度 --><div style="max-height: 150px; overflow-y: auto; padding: 8px; width: 100px;"><div v-for="c in cities" :key="c.value">{{ c.label }}</div></div></template><a-button type="link">點擊查看</a-button></a-popover></div></div></div>
</template><script>
export default {name: 'Home',data() {return {// 模擬數據provinces: [{ value: 'zhejiang', label: '浙江省' },{ value: 'jiangsu', label: '江蘇省' },{ value: 'guangdong', label: '廣東省' },{ value: 'sichuan', label: '四川省' },{ value: 'shandong', label: '山東省' }],cities: [{ value: 'hangzhou', label: '杭州' },{ value: 'ningbo', label: '寧波' },{ value: 'wenzhou', label: '溫州' },{ value: 'shaoxing', label: '紹興' },{ value: 'nanjing', label: '南京' },{ value: 'suzhou', label: '蘇州' },{ value: 'wuxi', label: '無錫' },{ value: 'guangzhou', label: '廣州' },{ value: 'shenzhen', label: '深圳' },{ value: 'chengdu', label: '成都' }]}}
}
</script><style scoped>
/* 調整樣式使其更加緊湊 */
.demo-page {max-width: 100%;
}.ant-btn-link {padding: 0;color: #1890ff;text-decoration: underline;
}.ant-btn-link:hover {color: #40a9ff;
}.ant-popover-inner-content {padding: 8px;background-color: #fff;border-radius: 4px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}.ant-popover-inner-content div {padding: 4px 0;
}/* 確保每組元素在同一行顯示 */
.flex-container {display: flex;justify-content: space-between;
}.flex-item {display: flex;align-items: center;gap: 16px;
}.flex-item span {font-weight: 500;color: #333;
}
</style>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/920113.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/920113.shtml
英文地址,請注明出處:http://en.pswp.cn/news/920113.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

動手學深度學習01-引言

動手學深度學習pytorch 參考地址&#xff1a;https://zh.d2l.ai/ 文章目錄動手學深度學習pytorch1-第01章-引言1. 機器學習/深度學習基礎1.1 什么是機器學習&#xff1f;1.2 深度學習與機器學習的關系&#xff1f;2. 數據&#xff08;Data&#xff09;2.1 什么是樣本、特征、標…

大模型提示詞工程背后的原理:深入理解Prompt Learning(提示學習)

“ 知其然也要知其所以然&#xff0c;為什么會有提示詞工程&#xff1f;” 了解和使用過大模型的人應該都知道提示詞工程&#xff0c;即使不了解提示詞工程&#xff0c;至少也應該聽說過&#xff0c;提示詞工程說白了就是一種和大模型交流的方法&#xff0c;它的作用就是讓大模…

AI 智能體安全設計模式:從三大“反模式”看如何構建可信的 AI 系統

摘要&#xff1a;當我們將 AI 智能體&#xff08;Agent&#xff09;從實驗原型推向生產環境時&#xff0c;許多團隊在不經意間重復著一些危險的錯誤實踐。這些反復出現的錯誤&#xff0c;在軟件工程中被稱為“反模式”&#xff08;Anti-Patterns&#xff09;。本文基于 Curity …

【前端安全】前端安全第一課:防止 XSS 和 CSRF 攻擊的常見手法

【前端安全】前端安全第一課&#xff1a;防止 XSS 和 CSRF 攻擊的常見手法 所屬專欄&#xff1a; 《前端小技巧集合&#xff1a;讓你的代碼更優雅高效》 上一篇&#xff1a; 【性能指標】決戰性能之巔&#xff1a;深入理解核心 Web 指標&#xff08;Core Web Vitals&#xff0…

QT新建文件或者項目解釋:那些模板分別是什么意思?

在 Qt Creator 的 “New File or Project” 界面中&#xff0c;不同分類下的模板有著不同的用途和適用場景&#xff0c;以下是對各部分的詳細說明&#xff1a;一、“項目” 分類下1. Application&#xff08;應用程序&#xff09;用途&#xff1a;用于創建可直接運行的應用程序…

《支付回調狀態異常的溯源與架構級修復》

在后端開發領域&#xff0c;能通過錯誤日志直接定位的問題&#xff0c;只能算作“基礎挑戰”&#xff1b;而那些依賴特定數據量、并發量或外部交互場景才會觸發的隱性問題&#xff0c;往往像藏在電路中的虛焊點&#xff0c;平時看似正常&#xff0c;關鍵時刻卻會導致整個系統斷…

C語言 運算符 (2)

一、內容概要內容提neirong關系運算符 邏輯運算符 逗號運算符 位運算二、運算符2.1 關系運算符說明&#xff1a; >,<,>,<,,! &#xff08;都是雙目的&#xff09;所有關系運算符都是雙目運算符&#xff08;二元運算符&#xff09;&#xff0c;運算符左側和右側、可…

mac版SVN客戶端: macSvn 下載、使用指南【保姆級教程】

做項目要用SVN&#xff0c;在Mac平臺找順手的客戶端好難。Windows下的TortoiseSVN很贊&#xff0c;Mac卻一直沒對等工具。直到發現新發布的MacSVN&#xff0c;布局和操作深得我心&#xff0c;內置常用工具&#xff0c;還能無縫集成到OS與任務欄&#xff0c;便捷易上手&#xff…

MongoDB分片集群自動化部署

OS&#xff1a;CentOS Linux release 7.9.2009 (Core) 場景&#xff1a; 需要半自動化或者自動化部署MongoDB集群時&#xff0c;可用此腳本。提高交付效率。 腳本實現架構圖&#xff1a;腳本&#xff1a; check_clear_host.sh #此腳本有2個功能及是檢查 資源規格和清理資源上的…

go-redis庫使用總結

文章目錄1. 概述與特性2. 安裝與初始化2.1 安裝2.2 初始化3 基本使用模式3.1 單實例客戶端3.2 連接池與自動重連4. 常用 Redis 數據結構操作4.1 字符串&#xff08;String&#xff09;4.2 哈希&#xff08;Hash&#xff09;4.3 列表&#xff08;List&#xff09;4.4 集合&#…

【軟件設計模式】策略模式

1.概念策略&#xff08;Strategy&#xff09;模式定義了一系列算法&#xff0c;并將每個算法封裝起來&#xff0c;使它們可以相互替換&#xff0c;且算法的變化不會影響使用算法的客戶。策略模式屬于行為型設計模式&#xff0c;它通過對算法進行封裝&#xff0c;把使用算法的責…

Mac電腦英特爾版本最新系統15.6.1安裝php環境

Mac電腦安裝php環境 版本環境&#xff1a; 2025-08-22 14:09:19 安裝 最新系統15.6.1系統&#xff1a; 新版本的mac不帶php環境&#xff0c;需要自己 安裝 brew install php8.3 啟動說明 查看 . 使用官方方法安裝 NVM curl -o- https://raw.githubusercontent.com/nvm-sh/…

Android焦點窗口變化導致遙控鍵值監聽失效問題分析

最近在做語音全局控制Android系統功能&#xff0c;通過集成第三方語音識別sdk得到相關控制指令&#xff0c;然后將指令通過進程間通信傳遞給當前應用并作出響應。有很多通用指令&#xff0c;比如播放/暫停&#xff0c;Android系統本身就有全局控制指令&#xff1a;KeyEvent.KEY…

降本增效:基于 JavaScript 的 AI 編程 IDE 上下文壓縮優化方案

降本增效&#xff1a;基于 JavaScript 的 AI 編程 IDE 上下文壓縮優化方案 在當前 AI 輔助編程&#xff08;AI Pair Programming&#xff09;日益普及的背景下&#xff0c;開發者越來越依賴如 GitHub Copilot、Tabnine、CodeLlama 等智能編碼工具。然而&#xff0c;一個普遍存在…

DataX HdfsWriter 插件文檔

?博客主頁&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客內容》&#xff1a;大數據、Java、測試開發、Python、Android、Go、Node、Android前端小程序等相關領域知識 &#x1f4e2;博客專欄&#xff1a; https://blog.csdn.net/m0_63815035/…

Rancher 管理的 K8S 集群中部署常見應用(MySQL、Redis、RabbitMQ)并支持擴縮容的操作

文章目錄一、前提條件二、準備鏡像三、進入 Rancher UI 部署3.1. 進入 Workloads3.2. 部署 MySQL3.3. 部署 Redis3.4. 部署 RabbitMQ四、驗證服務五、擴縮容&#xff08;UI 操作&#xff09;六、附錄yml部署文件6.1. mysql.yaml6.2. redis.yaml6.3. rabbitmq.yaml一、前提條件 …

8.21-8.22網絡編程——詞典

文章目錄一、思維導圖二、詞典1、服務器2、客戶端3、現象三、牛客網刷題一、思維導圖 二、詞典 1、服務器 #include <myhead.h>#define SER_PORT 8888 //服務器端口號 #define SER_IP "192.168.116.128" //服務器IP地址 //賬戶密碼結構 typedef s…

ffmpeg測試rtsp地址

ffmpeg可以用 ffmpeg 通過 tcp協議/udp協議傳輸流到 null設備&#xff0c;ffmpeg \-rtsp_transport tcp \ # 使用TCP協議傳輸RTSP流-timeout 5000000 \ # 設置超時時間為5000000微秒&#xff08;5秒&#xff09;-i "rtsp://admin:admin123192.168.1.…

Apache Commons Math_Java科學計算的利器

1. 引言 1.1 科學計算在現代軟件開發中的重要性 隨著大數據、人工智能和科學計算需求的不斷增長,科學計算能力已成為現代軟件開發不可或缺的重要組成部分。從金融風險評估到工程仿真,從數據分析到機器學習,科學計算在各行各業中發揮著關鍵作用。 科學計算涉及復雜的數學運…

Python爬蟲框架設計:類封裝與工程化實踐?

實戰中的UA輪換技巧 import fake_useragent import random class DynamicHeader: def init(self): self.ua_generator fake_useragent.UserAgent() # 注意&#xff1a;實際使用需更新數據路徑 self.fingerprints [“chrome125”, “edge115”, “safari17”] # 2025年主流指…