Insignia实例API完全手册:掌握addItem、removeItem等关键方法
Insignia实例API完全手册掌握addItem、removeItem等关键方法【免费下载链接】insignia Customizable tag input. Progressive. No non-sense!项目地址: https://gitcode.com/gh_mirrors/in/insigniaInsignia是一个轻量级的可定制标签输入库提供了直观的API来管理标签的添加、删除和查询操作。本文将详细介绍Insignia实例的核心API方法帮助开发者快速掌握如何使用这些方法构建交互式标签输入功能。核心API概览Insignia实例通过简单的API提供了完整的标签管理功能主要包括以下方法添加标签addItem(data)删除标签removeItem(data)、removeItemByElement(el)查询标签findItem(data)、findItemIndex(data)、findItemByElement(el)实例管理destroy()这些方法定义在insignia.js文件中通过实例化后的对象暴露给开发者使用。标签添加addItem方法addItem方法是向标签输入框添加新标签的核心接口它接受一个数据参数并创建对应的标签元素。基本用法// 假设insignia实例已创建 const tagInput insignia(inputElement); // 添加文本标签 tagInput.addItem(JavaScript); // 添加对象类型标签需配置getValue和getText选项 tagInput.addItem({ id: 1, name: TypeScript });方法解析在insignia.js中定义function addItem (data) { const valid validate(data); const item { data, valid }; if (o.preventInvalid !valid) { return api; } const el renderItem(item); if (!el) { return api; } item.el el; currentValues.push(item); api.emit(add, data, el); invalidate(); return api; }关键点自动验证标签有效性通过validate函数支持自定义渲染通过renderItem添加成功后触发add事件链式调用支持返回api实例标签删除removeItem系列方法Insignia提供了多种删除标签的方式满足不同场景的需求。removeItemByData通过数据对象删除对应的标签// 删除文本标签 tagInput.removeItem(JavaScript); // 删除对象标签 tagInput.removeItem({ id: 1, name: TypeScript });实现代码insignia.jsfunction removeItemByData (data) { return removeItem(findItem(data)); }removeItemByElement通过DOM元素引用删除对应的标签// 获取标签元素 const tagElement document.querySelector(.nsg-tag); // 通过元素删除标签 tagInput.removeItemByElement(tagElement);实现代码insignia.jsfunction removeItemByElement (el) { return removeItem(findItem(el, el)); }删除流程查找标签数据或元素移除DOM元素更新内部数据存储触发remove事件标签查询findItem系列方法Insignia提供了灵活的标签查询功能可通过数据或元素查找标签。findItem根据数据查找标签项const tag tagInput.findItem(JavaScript); if (tag) { console.log(找到标签:, tag.data); }实现代码insignia.jsfunction findItem (value, propdata) { const comp (prop data ? item getValue(item[prop]) getValue(value) : item item[prop] value ); for (let i 0; i currentValues.length; i) { if (comp(currentValues[i])) { return currentValues[i]; } } return null; }findItemIndex获取标签在列表中的索引位置const index tagInput.findItemIndex(JavaScript); if (index ! null) { console.log(标签索引:, index); }findItemByElement通过DOM元素查找对应的标签数据const tagElement document.querySelector(.nsg-tag); const tag tagInput.findItemByElement(tagElement);实例销毁destroy方法当不再需要标签输入功能时使用destroy方法清理资源// 销毁实例 tagInput.destroy();实现代码insignia.jsfunction destroy () { bind(true); el.value ; el.className el.className.replace(inputClass, ); parent.className parent.className.replace(editorClass, ); if (before.parentElement) { before.parentElement.removeChild(before); } if (after.parentElement) { after.parentElement.removeChild(after); } shrinker.destroy(); api.destroyed true; api.destroy api.addItem api.removeItem () api; api.tags api.value () null; return api; }清理操作移除事件监听清除输入框内容恢复DOM结构释放相关资源实际应用示例以下是一个综合使用Insignia API的示例// 初始化Insignia const input document.getElementById(tag-input); const tagInput insignia(input, { delimiter: ,, deletion: true, validate: (data) data.trim().length 0 }); // 添加初始标签 [HTML, CSS, JavaScript].forEach(tag { tagInput.addItem(tag); }); // 查找并删除标签 const cssTag tagInput.findItem(CSS); if (cssTag) { tagInput.removeItem(cssTag.data); } // 监听添加事件 tagInput.on(add, (data, el) { console.log(添加新标签:, data); }); // 页面卸载时销毁实例 window.addEventListener(unload, () { tagInput.destroy(); });总结Insignia通过简洁而强大的API使开发者能够轻松实现自定义标签输入功能。核心方法包括addItem添加新标签removeItem/removeItemByElement删除标签findItem系列查询标签destroy清理实例这些方法在insignia.js中实现提供了灵活的标签管理能力。通过合理使用这些API可以构建出交互友好、功能完善的标签输入组件。【免费下载链接】insignia Customizable tag input. Progressive. No non-sense!项目地址: https://gitcode.com/gh_mirrors/in/insignia创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Velociraptor核心功能全解析:从环境变量到Git Hooks的完整指南

Velociraptor核心功能全解析:从环境变量到Git Hooks的完整指南

Velociraptor核心功能全解析:从环境变量到Git Hooks的完整指南 【免费下载链接】velociraptor The npm-style script runner for Deno 项目地址: https://gitcode.com/gh_mirrors/vel/velociraptor Velociraptor 是一款专为 Deno 设计的 npm 风格脚本运行器&…

2026/8/9 20:20:19 阅读更多 →
Git Worktree:AI编程时代的多任务并行开发与上下文隔离神器

Git Worktree:AI编程时代的多任务并行开发与上下文隔离神器

1. 项目概述:为什么在AI编程时代,你需要重新认识Git Worktree?如果你还在用传统的Git分支切换来应对多任务并行,尤其是在AI编程工具(如Cursor、GitHub Copilot)日益普及的今天,那你可能正在经历…

2026/8/9 20:19:19 阅读更多 →
test-data-bot最佳实践:提升单元测试效率的7个技巧

test-data-bot最佳实践:提升单元测试效率的7个技巧

test-data-bot最佳实践:提升单元测试效率的7个技巧 【免费下载链接】test-data-bot 项目地址: https://gitcode.com/gh_mirrors/te/test-data-bot test-data-bot是一款受Factory Bot启发的测试数据生成工具,专为提升单元测试效率设计。它通过灵活…

2026/8/9 20:19:19 阅读更多 →

最新新闻

VSCode配置Unity C#开发环境:从安装调试到效率优化全指南

VSCode配置Unity C#开发环境:从安装调试到效率优化全指南

1. 项目概述:为什么选择VSCode作为Unity的C#编辑器? 如果你是一名Unity开发者,尤其是从其他编程领域转过来的,可能会对Unity默认捆绑的Visual Studio(Windows)或Visual Studio for Mac(macOS&a…

2026/8/10 6:25:12 阅读更多 →
UE4网络请求实战:从Va Rest基础到异步封装与性能优化

UE4网络请求实战:从Va Rest基础到异步封装与性能优化

1. 项目概述:为什么Va Rest是UE4网络请求的“瑞士军刀”?在UE4项目里,但凡涉及到和服务端打交道的活儿,比如登录验证、拉取排行榜、提交玩家数据,你总得找个趁手的工具来处理HTTP请求。UE4自带的Http模块不是不能用&am…

2026/8/10 6:25:12 阅读更多 →
AI Agent技术解析:从意图理解到任务执行,探索智能体开发新趋势

AI Agent技术解析:从意图理解到任务执行,探索智能体开发新趋势

这次我们来看一个刚刚官宣的新项目——Intent Lab。这不是一个具体的工具或模型,而是由AI领域知名人物贾扬清宣布成立的新实验室。对于关注AI技术发展、特别是AI Agent和智能体应用方向的开发者来说,这个动向值得关注。Intent Lab的定位是什么&#xff1…

2026/8/10 6:25:12 阅读更多 →
零代码AI数据分析实战:从周报到预测,普通人也能驱动的数据决策

零代码AI数据分析实战:从周报到预测,普通人也能驱动的数据决策

1. 从“看热闹”到“用起来”:为什么数据分析是普通人拥抱AI的最佳切入点最近和不少朋友聊天,发现一个挺有意思的现象:大家谈起ChatGPT、Midjourney这些AI工具,都能聊上几句,但一被问到“你工作中真的用上了吗&#xf…

2026/8/10 6:25:12 阅读更多 →
UE全局光照技术选型:Path Tracing与Lumen深度对比与实战指南

UE全局光照技术选型:Path Tracing与Lumen深度对比与实战指南

1. 项目概述:当UE全局光照站在十字路口在虚幻引擎(UE)的世界里,全局光照(Global Illumination, GI)的构建,一直是决定最终画面真实感与艺术表现力的核心战场。过去,我们常…

2026/8/10 6:25:12 阅读更多 →
Unity入门PPT设计:从零构建游戏开发认知地图与高效学习路径

Unity入门PPT设计:从零构建游戏开发认知地图与高效学习路径

1. 项目概述:为什么需要一份好的Unity入门PPT?如果你刚接触Unity,打开编辑器,面对满屏的窗口、按钮和英文菜单,是不是感觉有点无从下手?我刚开始学Unity那会儿,也是这种感觉。网上的教程要么是零…

2026/8/10 6:24:11 阅读更多 →

日新闻

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南 【免费下载链接】graphql-css A blazing fast CSS-in-GQL™ library. 项目地址: https://gitcode.com/gh_mirrors/gr/graphql-css GraphQL-CSS是一个基于GraphQL的CSS-in-GQL™库&#xff0…

2026/8/10 0:00:02 阅读更多 →
告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcode.com/…

2026/8/10 0:00:02 阅读更多 →
BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案 【免费下载链接】BepInEx.ConfigurationManager Plugin configuration manager for BepInEx 项目地址: https://gitcode.com/gh_mirrors/be/BepInEx.ConfigurationManager 你是否曾经因为游戏插件的复杂…

2026/8/10 0:00:02 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/10 1:05:29 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/10 1:05:29 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/10 1:05:29 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/9 17:05:02 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/10 1:05:29 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/9 17:05:02 阅读更多 →