tagger
0.6.2
_____
|_ _|___ ___ ___ ___ ___
| | | .'| . | . | -_| _|
|_| |__,|_ |_ |___|_|
|___|___| version 0.6.2
在线演示
npm install @jcubic/tagger
或者
yarn add @jcubic/tagger
tagger(document.querySelector('[name="tags"]'), {allow_spaces: false});
可以通过传递元素或数组来创建多个输入(例如document.queryselectorall())。如果列表中只包含一个元素,则Tagger将返回Tagger实例,如果元素的数量大于1,则将返回标记器实例的数组。
标记器可以轻松与ReactJ一起使用。
import { useRef , useState , useEffect } from 'react'
import tagger from '@jcubic/tagger'
const App = ( ) => {
const [ tags , setTags ] = useState ( [ ] ) ;
const inputRef = useRef ( null ) ;
useEffect ( ( ) => {
const taggerOptions = {
allow_spaces : true ,
} ;
tagger ( inputRef . current , taggerOptions ) ;
onChange ( ) ;
} , [ inputRef ] ) ;
const onChange = ( ) => {
setTags ( tags_array ( inputRef . current . value ) ) ;
} ;
return (
< div className = "app" >
< input type = "text" ref = { inputRef } onChange = { onChange } defaultValue = "charles, louis, michel" />
< br />
< ul >
{ tags . map ( ( tag , index ) => < li key = { ` ${ tag } - ${ index } ` } > { tag } </ li > ) }
</ ul >
</ div >
)
}
function tags_array ( str ) {
return str . split ( / s*,s* / ) . filter ( Boolean ) ;
}
export default App请参阅Codepen上的演示。
add_tag(string): booleanremove_tag(string): booelancomplete(string): void{list: string[] | function(): Promise(string[])|string[], delay: miliseconds, min_length: number}function(name): string|false它应该返回应该在href属性或false中的内容number (默认-1)限制标签数,当设置为-1时,没有限制string (默认未设置)如果在选项或初始输入中设置,则将在标签条目输入中显示此占位符值function(name): string应用于应用任何过滤器(例如String.touppercase()),空字符串以过滤标记并防止创建后,它应返回标签名称。注意:如果您熟悉Typescript,则可以通过查看Typescript定义文件来检查API:
tagger.d.ts
版权(C)2018-2024 Jakub T. Jankiewicz
根据MIT许可发布