-
v-bindとisDisabledフラグの使用: Vueコンポーネント内で、isDisabledというデータプロパティを作成し、無効な入力フィールドにバインドします。isDisabledの値に基づいて、入力フィールドのdisabled属性を制御します。
<template> <input type="text" v-bind:disabled="isDisabled" /> </template> <script> export default { data() { return { isDisabled: true // 無効な場合はtrue、有効な場合はfalse }; } }; </script>
-
v-modelとcomputedプロパティを使用: computedプロパティを使用して、無効な入力フィールドの値を監視し、変更を防ぎます。v-modelディレクティブを使用して、入力フィールドの値をcomputedプロパティにバインドします。
<template> <input type="text" v-model="inputValue" /> </template> <script> export default { computed: { inputValue: { get() { // 無効な場合の値 return this.isDisabled ? '' : this.inputValue; }, set(value) { // 値の変更を防ぐ if (!this.isDisabled) { this.inputValue = value; } } } }, data() { return { isDisabled: true // 無効な場合はtrue、有効な場合はfalse }; } }; </script>
-
v-onとイベントハンドラを使用: v-onディレクティブを使用して、入力フィールドのイベントを監視し、無効な場合にイベントをキャンセルします。例えば、"input"イベントをキャンセルすることで、ユーザーの入力を無効にすることができます。
<template> <input type="text" v-on:input="handleInput" /> </template> <script> export default { methods: { handleInput(event) { if (this.isDisabled) { event.preventDefault(); // イベントをキャンセルする } } }, data() { return { isDisabled: true // 無効な場合はtrue、有効な場合はfalse }; } }; </script>
これらはVue.jsで無効な入力フィールドを処理するための一部の方法です。必要に応じて、これらの例をカスタマイズして使用することができます。