码译 · VibeCode
一个框,点开能选一个选项,像省市区选择那样
下拉选择器
Select / Dropdown Selector
反模式用原生 select 样式丑且难统一,或自己平铺选项占地方
正解做一个自定义下拉:输入框样式的触发器,点击展开浮层选项列表,选中后回填并收起
在线对比体验 · 同一个需求,大白话 vs 平台提示词,效果立分高下 · 右边可点击体验
大白话直接生成
请选择城市▾
只能看不能选
平台提示词生成
请选择城市▾
北京上海广州深圳
点「点击试用」展开下拉
差在哪?大白话没讲「用原生 select 样式丑且难统一,或自己平铺选项占地方」,AI 只能自己猜;平台提示词写明「做一个自定义下拉:输入框样式的触发器,点击展开浮层选项列表,选中后回填并收起」,还带要点与三端注意,一次到位不用返工。
代码示例
错误写法
<select><option>北京</option>...</select> /* 原生样式难控,各端长得不一样 */
正确写法
.sel{ position:relative } .sel .panel{ position:absolute; top:100%; } /* 触发器+浮层,选中回填 */
语义锚点 · 对齐 AI 语义库契约
<div data-vibe="select-dropdown-selector"> … 组件根元素 … </div><!-- AI 用语义名片 locate 此属性即可定位/修改 -->
在组件根元素挂 data-vibe="select-dropdown-selector",AI 用语义名片里的 locate([data-vibe='select-dropdown-selector'])即可定位、修改、组合该组件——与「AI 语义库」tab 的契约一一对应。在 AI 语义库看契约 →
不同平台注意
网页绝对定位浮层+点击外部关闭
AppRN Picker / ActionSheet
小程序picker 组件或自定义弹层
可直接复制的提示词(三端都给你,挑对应平台复制给 Cursor / 通义灵码 / Claude)
网页 Web
你是一位资深前端工程师。我想实现【下拉选择器】(专业术语:Select / Dropdown Selector)。

【我想达到的效果】一个框,点开能选一个选项,像省市区选择那样。
【请避免的反模式】用原生 select 样式丑且难统一,或自己平铺选项占地方。
【正确做法】做一个自定义下拉:输入框样式的触发器,点击展开浮层选项列表,选中后回填并收起。

【平台】网页 Web(标准 HTML/CSS/JS,单文件零依赖,不引任何 CDN)。
【提示词要点】
- 浮层绝对定位,注意被父级 overflow 裁剪
- 选中后回填文字并收起面板
- 移动端选项行高够大好点按

请输出完整可运行代码(关键处写中文注释),并附 50 字以内使用说明。
手机 App
你是一位资深前端工程师。我想实现【下拉选择器】(专业术语:Select / Dropdown Selector)。

【我想达到的效果】一个框,点开能选一个选项,像省市区选择那样。
【请避免的反模式】用原生 select 样式丑且难统一,或自己平铺选项占地方。
【正确做法】做一个自定义下拉:输入框样式的触发器,点击展开浮层选项列表,选中后回填并收起。

【平台】手机 App(React Native / Flutter / 原生,给出对应组件与关键代码)。
【提示词要点】
- 浮层绝对定位,注意被父级 overflow 裁剪
- 选中后回填文字并收起面板
- 移动端选项行高够大好点按

请输出完整可运行代码(关键处写中文注释),并附 50 字以内使用说明。
微信小程序
你是一位资深前端工程师。我想实现【下拉选择器】(专业术语:Select / Dropdown Selector)。

【我想达到的效果】一个框,点开能选一个选项,像省市区选择那样。
【请避免的反模式】用原生 select 样式丑且难统一,或自己平铺选项占地方。
【正确做法】做一个自定义下拉:输入框样式的触发器,点击展开浮层选项列表,选中后回填并收起。

【平台】微信小程序(WXML/WXSS/JS,注意 rpx 单位与小程序专属约束)。
【提示词要点】
- 浮层绝对定位,注意被父级 overflow 裁剪
- 选中后回填文字并收起面板
- 移动端选项行高够大好点按

请输出完整可运行代码(关键处写中文注释),并附 50 字以内使用说明。