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())。リストに1つの要素のみが含まれている場合、TaggerはTaggerインスタンスを返します。要素の数が1を超えると、タガーインスタンスの配列が返されます。
TaggerはReactJSで簡単に使用できます。
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 AppCodepenのDemo in Actionを参照してください。
add_tag(string): booleanremove_tag(string): booelancomplete(string): void{list: string[] | function(): Promise(string[])|string[], delay: miliseconds, min_length: number}function(name): string|falsenumber (デフォルト-1)タグの数を制限-1に設定すると制限がありませんstring (デフォルトのunset)オプションまたは初期入力に設定されている場合、このプレースホルダー値はタグエントリ入力に表示されますfunction(name): string (string.touppercase())を適用した後、タグ名を返す必要があります。注: TypeScriptに精通している場合は、TypeScript定義ファイルを調べてAPIを確認できます。
tagger.d.ts
Copyright(c)2018-2024 Jakub T. Jankiewicz
MITライセンスの下でリリースされました