cari

Rumah  >  Soal Jawab  >  teks badan

API Komposisi Vue 3 - lumpuhkan butang hantar borang sehingga semua syarat dipenuhi

Saya ingin melumpuhkan butang hantar borang sehingga semua medan input diisi dan tiada ralat.

<button
  :disabled="disabled"
  type="submit"
  value="Submit"
  >
  Suggest
</button>

let disabled = ref(true);
let error = ref(false);

nextTick(() => {
  let inputs = Array.from(document.getElementsByClassName("form__input"));
  if (!error.value) {
    inputs.forEach((input) => {
      if (input.value === "") {
        disabled.value = true;
      } else {
        disabled.value = false;
      }
    });
  }
})

Butang dilumpuhkan secara lalai, tetapi ia tidak akan "mendayakan" dirinya apabila syarat yang telah dinyatakan dipenuhi.

Setakat ini saya menggunakan cangkuk kitar hayat berbantu nextTick() yang jelas tidak membantu saya dalam kes ini.

Keadaan "dilumpuhkan" akan dikemas kini dalam konsol, tetapi bukan pada DOM.

Bagaimana saya boleh menyelesaikan masalah ini?

Sola

P粉360266095P粉360266095404 hari yang lalu1092

membalas semua(3)saya akan balas

  • P粉180844619

    P粉1808446192023-11-14 00:30:04

    Mungkin anda perlu menggunakan v-modelcompulated@input untuk mendengar acara dan menukar keadaan butang dilumpuhkan.

    balas
    0
  • P粉828463673

    P粉8284636732023-11-14 00:15:17

    Penyelesaian paling mudah ialah menggunakan nilai 计算 untuk menetapkan keadaan lumpuh butang - berdasarkan nilai input - jika ada yang kosong, butang itu dinyahdayakan

    Ini adalah contoh asas

    const { ref, createApp, computed } = Vue;
    createApp({
        setup() {
            const input1 = ref("");
            const input2 = ref("");
            const input3 = ref("");
            // disabled is true if ANY input is empty string
            const disabled = computed(() => !input1.value || !input2.value || !input3.value);
            const clicked = () => console.log('clicked');
            return { input1, input2, input3, disabled, clicked };
        }
    }).mount('#app');
    sssccc
    
    Input 1:
    Input 2:
    Input 3:

    balas
    0
  • 尊渡假赌尊渡假赌尊渡假赌

    尊渡假赌尊渡假赌尊渡假赌2023-11-20 15:25:48

    . . . . Ujian

    balas
    0
  • Batalbalas