talquei
1.0.0
退屈で直感的でないフォームは忘れてください。 talquei を使用すると、上の画像のような素晴らしいフォームをすばやく構築できます。
パッケージマネージャーを使用してインストールします。
$ yarn add talquei
アプリに追加します。
import Vue from 'vue'
import Talquei from 'talquei'
// import the styles
import 'talquei/dist/talquei.min.css'
Vue . use ( Talquei )
または、コンポーネントにインポートします。
import { Talquei , TalqueiMessage } from 'talquei'
export default {
components : {
Talquei ,
TalqueiMessage
}
}
Talquei
コンポーネントは、すべてのTalqueiMessage
をラッパーする必要があります。
< template >
< Talquei >
< TalqueiMessage text = " Hi! My name is Talquei! " />
< TalqueiMessage text = " I'm a plugin to help you. " />
</ Talquei >
</ template >
プロップまたはスロットによってユーザー エントリをリクエストできます。 prop は基本的にタグをフォームに挿入し、 v-model
のエントリを入力します。
< template >
< Talquei >
< TalqueiMessage text = " What's your name? " />
< TalqueiMessage
v-model = " name "
: input = " { tag : ' text ' , placeholder : ' Enter your name ' } "
is-user
/>
</ Talquei >
</ template >
< script >
export default {
data : () => ({
name : ' '
})
}
</ script >
ユーザーがテキストを入力すると、prop template
使用してテキストをフォーマットできます。
< template >
< Talquei >
< TalqueiMessage
: input = " { tag : ' text ' , placeholder : ' Enter your name ' } "
template = " My name is {text} "
is-user
/>
</ Talquei >
</ template >
事前定義された回答 ( select
またはradio
タグなど) が必要な場合は、 input.type = 'select'
を設定し、 options
フィールドにオブジェクトを渡すことができます。
< template >
< Talquei >
< TalqueiMessage text = " Which front-end framework do you prefer? " />
< TalqueiMessage
v-model = " name "
: input = " { tag : ' select ' , options : frameworks } "
is-user
/>
</ Talquei >
</ template >
< script >
export default {
data : () => ({
frameworks : {
vue : ' Vue.js ' ,
angular : ' AngularJS ' ,
ember : ' Ember.js '
}
})
}
</ script >
v-if
属性で条件付きメッセージを表示する場合に使用します。
< template >
< Talquei >
< TalqueiMessage text = " Which front-end framework do you prefer? " />
< TalqueiMessage
v-model = " name "
: input = " { tag : ' select ' , options : frameworks } "
is-user
/>
< TalqueiMessage text = " What plugins do you usually use in your projects? " />
< TalqueiMessage
v-if = " answer === ' vue ' "
v-model = " plugin "
: input = " { tag : ' text ' , placeholder : ' talquei ' } "
is-user
/>
</ Talquei >
</ template >
</ script >
より複雑な入力 (検証、カスタム コンポーネントなど) を構築する必要がある場合は、スロットを使用できます。完了後、忘れずにTalquei
コンポーネントからnext()
メソッドを呼び出してください。
< template >
< Talquei ref = " talquei " >
< TalqueiMessage text = " Hello " >
< form @ submit . stop = " onSubmit " >
< input ref = " input " type = " text " >
< button >Ok</ button >
</ form >
</ TalqueiMessage >
</ Talquei >
</ template >
< script >
export default {
methods : {
onSubmit () {
this . name = this . $refs . input . value
this . $refs . talquei . next ()
}
}
}
</ script >
Talquei
コンポーネント名前 | 説明 | タイプ | デフォルト |
---|---|---|---|
autoRun | マウントされると会話が始まります | Boolean | true |
名前 | 説明 |
---|---|
default | ここにTalqueiMessage 挿入してください。ルート要素は必要ありません |
init(): void
autoRun
false
に設定した場合は、このメソッドを使用して会話を開始します。
next(): void
次のメッセージを検索します。ネストされたメッセージは、入力を完了するときに呼び出すこのメソッドを挿入します。
TalqueiMessage
コンポーネント名前 | 説明 | タイプ | デフォルト |
---|---|---|---|
input | ユーザー入力を要求する 詳細を見る | Object | undefined |
isUser | ユーザーが書いたメッセージとして定義 | Boolean | false |
text | isUser が入力されない場合に表示されるテキスト | String | undefined |
value | v-model での使用にのみ役立ちます | String | undefined |
template | ユーザー入力のフォーマットを設定します | String | {text} |
input
オブジェクト通知されたtag
から基本フォームを作成しますが、スロットを使用したい場合は定義しないでください。
tag
: 現在有効なタグはtext
またはselect
です。options
( select
): このフィールドを使用して、使用可能なオプションを含むobject
を定義します。placeholder
( text
): 入力フィールドのプレースホルダーを設定します。type
( text
): 入力フィールドのタイプを設定します。デフォルトはtext
です。 名前 | 説明 |
---|---|
default | より複雑な、またはパーソナライズされたユーザー入力が必要な場合は、これを使用します。 |
avatar | アバターとして使用する要素を変更します。デフォルトは「?」です。 |
このプロジェクトに貢献したい場合は、貢献ガイドをご覧ください。