====== Vue.js 3.x LabeledTwoInputsForm コンポーネント ======
===== 要求 =====
* 2 つのテキスト入力を実装するラベル付きコンポーネント
* v-model 対応
* 再利用可能なコンポーネントとする。
* 指定可能な属性が異なるため、$attr をバインドするが、対応できない場合は別のコンポーネントとしてで作成する。
===== コード =====
import { computed } from 'https://cdnjs.cloudflare.com/ajax/libs/vue/3.0.2/vue.esm-browser.js';
import LabeledForm from '/_export/code/vuejs/vue3/labeled_form?codeblock=0';
import TwoInputsForm from '/_export/code/vuejs/vue3/two_inputs_form?codeblock=0';
const LabeledTwoInputsForm = {
template: `
===== Props =====
==== type ====
* type: String
* default: 'text
==== value ====
* type: String
==== errors ====
* type: Array
* default: []
==== labelText ====
* type: String
==== formWrapperClasses ====
* type: Array
* default: []
==== formWrapperStyles ====
* type: Object
* default: {}
==== labelWrapperClasses ====
* type: Array
* default: []
==== labelWrapperStyles ====
* type: Object
* default: { paddingTop: '7px' }
==== controlWrapperClasses ====
* type: Array
* default: []
==== controlWrapperStyles ====
* type: Object
* default: {}
==== controlClasses ====
* type: Array
* default: []
==== controlStyles ====
* type: Object
* default: {}
==== messageWrapperClasses ====
* type: Array
* default: []
==== messageWrapperStyles ====
* type: Object
* default: {}
==== controlErrorClass ====
* type: String
* default: 'has-error'
==== messageErrorClass ====
* type: String
* default: 'text-danger'
==== formErrorClass ====
* type: String
* default: 'has-error'
==== labelErrorClass ====
* type: String
* default: 'text-danger'
===== Events =====
===== Demo =====
==== テーブルライクなレイアウト ====