Package Exports
- fluent-emoji-ms
- fluent-emoji-ms/style.css
Readme
Fluent Emoji MS
Vue 3 组件库,用于在应用中集成微软 Fluent UI 表情符号。
特性
- 🎨 支持多种风格:现代风格、扁平风格和高对比度风格
- 🔍 搜索表情符号功能
- 📂 按分类浏览表情符号
- 📱 响应式设计,适配不同屏幕尺寸
- ⚙️ 高度可定制的界面
- 🧩 支持表情符号分类排序
- 🔄 自动处理图片加载错误
安装
npm install fluent-emoji-ms
基本使用
<script setup>
import { ref } from 'vue'
import { FluentEmojiPicker } from 'fluent-emoji-ms'
const selectedEmoji = ref(null)
function handleSelectEmoji(emoji) {
selectedEmoji.value = emoji
console.log('选中表情:', emoji)
}
</script>
<template>
<div>
<FluentEmojiPicker @select="handleSelectEmoji" />
<div v-if="selectedEmoji">
选中的表情: {{ selectedEmoji.name }}
</div>
</div>
</template>
开发
本项目同时支持作为组件库发布和部署示例网站。
安装依赖
npm install
开发模式
npm run dev
构建
# 构建组件库和示例网站
npm run build
# 只构建组件库
npm run build:lib
# 只构建示例网站
npm run build:web
部署示例网站
# 构建示例网站并部署到GitHub Pages
npm run build:web
node scripts/deploy-gh-pages.js
组件
FluentEmojiPicker
主要组件,提供完整的表情选择器功能。
Props
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
disabled | Boolean | false | 是否禁用选择器 |
initialStyle | String | 'modern' | 初始表情风格 |
defaultCategory | String | 'all' | 默认选中的表情分类 |
buttonText | String | '选择表情' | 选择按钮显示的文本 |
baseUrl | String | 'https://cdn.jsdelivr.net/npm/fluentui-emoji@1.1.1' | 表情图标基础 URL |
width | Number/String | 320 | 选择器宽度 |
columns | Number | 6 | 固定列数(仅当autoFill=false时生效) |
categories | Array | ['smileys', 'people', 'animals', ...] | 要显示的表情分类 |
closeOnSelect | Boolean | true | 选择表情后是否关闭面板 |
showSelectedEmoji | Boolean | false | 是否显示选中的表情信息区域 |
autoFill | Boolean | true | 是否自动填充表情网格 |
emojiSize | Number | 28 | 表情图标大小(像素) |
https://unpkg.com/fluentui-emoji@1.1.1/icons/flat/smiling-face-with-hearts.svg
Events
事件名 | 参数 | 说明 |
---|---|---|
select | emojiWithStyle | 选中表情时触发,返回带样式的表情对象 |
clear | - | 清除选中表情时触发 |
EmojiPicker
内部使用的基础表情选择器组件,可用于自定义更复杂的界面。
Props
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
emojis | Array | required | 表情数据数组 |
selectedCategory | String | required | 当前选中的风格 |
searchQuery | String | '' | 搜索关键词 |
selectedEmojiCategory | String | 'all' | 选中的表情分类 |
autoClose | Boolean | false | 选择后自动关闭 |
baseUrl | String | '...' | 表情图标基础 URL |
width | Number/String | 280 | 选择器宽度 |
columns | Number | 6 | 固定列数(仅当autoFill=false时生效) |
autoFill | Boolean | true | 是否自动填充表情网格 |
emojiSize | Number | 28 | 表情图标大小(像素) |
categories | Array | [...] | 表情分类排序 |
注意事项
- 确保网络能够访问表情图标 CDN
- 如需自定义 CDN 或使用本地图标,可以配置
baseUrl
属性 - 表情图标加载失败时会尝试使用备用风格
更多示例
查看 examples
文件夹中的示例,获取更多使用场景。
许可证
MIT