Rumah >hujung hadapan web >uni-app >uniapp mengubah suai gaya dalam fungsi kaedah

uniapp mengubah suai gaya dalam fungsi kaedah

PHPz
PHPzasal
2023-05-26 17:22:081640semak imbas

Dalam pembangunan uniapp, kita selalunya perlu mengubah suai gaya halaman secara dinamik, dan salah satu kaedah biasa ialah menukar gaya dalam fungsi kaedah. Dalam artikel ini kami akan menerangkan cara melaksanakan kaedah ini.

Secara umumnya, kami boleh mengubah suai gaya dengan menggunakan kaedah terbina dalam yang disediakan oleh uni-app dalam fungsi. Sebagai contoh, kita boleh menggunakan uni.$refs dalam fungsi untuk mendapatkan komponen tertentu pada halaman. Kemudian, kita boleh mengubah suai gaya secara dinamik melalui sifat komponen, seperti style dan class.

Mari kami menggunakan contoh khusus untuk membantu anda memahami proses ini dengan lebih baik. Katakan kita mempunyai halaman log masuk untuk program kecil, di mana gaya susun atur halaman adalah seperti berikut:

<template>
  <view>
    <form>
      <input type="text" placeholder="用户名" />
      <input type="password" placeholder="密码" />
      <button>登录</button>
    </form>
  </view>
</template>

<style scoped>
  form {
    width: 80%;
    margin: 10vw;
    padding: 5vw;
    background-color: #fff;
  }
  input {
    margin-bottom: 3vw;
    width: 100%;
    height: 10vw;
    border: 0;
    border-radius: 3vw;
    background-color: #f2f2f2;
  }
  button {
    width: 100%;
    height: 12vw;
    border: 0;
    border-radius: 3vw;
    color: #fff;
    background-color: #007aff;
    font-size: 4.5vw;
  }
</style>

Mari kita anggap bahawa kita kini perlu melaksanakan keperluan berikut: apabila pengguna menyerahkan borang, jika kotak input dalam borang tidak diisi, anda perlu menukar warna sempadan bawahnya kepada merah. Khususnya, kita perlu menukar nilai atribut placeholder kepada 未填写 dan menambah gaya border-bottom-color: red pada kotak input.

Untuk mencapai keperluan ini, kita perlu menggunakan kaedah uni.$refs dahulu untuk mendapatkan komponen kotak input, dan kemudian kita perlu menukar gaya komponen.

<template>
  <view>
    <form>
      <input ref="username" type="text" placeholder="用户名" />
      <input ref="password" type="password" placeholder="密码" />
      <button @click="login">登录</button>
    </form>
  </view>
</template>

<script>
export default {
  methods: {
    login() {
      if (!this.$refs.username.value.trim()) {
        this.$refs.username.placeholder = '未填写'
        this.$refs.username.style.borderBottomColor = 'red'
      }

      if (!this.$refs.password.value.trim()) {
        this.$refs.password.placeholder = '未填写'
        this.$refs.password.style.borderBottomColor = 'red'
      }
    },
  },
}
</script>

Dalam kod di atas, kami menambahkan atribut ref pada setiap komponen kotak input untuk mendapatkan rujukan kepada komponen tersebut. Dalam fungsi log masuk, kami menentukan sama ada kandungan kotak input kosong Jika ia kosong, kami mengubah suai nilai atribut placeholder kepada 未填写 dan menambah gaya border-bottom-color: red pada kotak input.

Perhatikan bahawa kami menggunakan $refs. bukannya refs. Ini kerana dalam apl uni, $refs ialah objek terbina dalam yang boleh mengakses semua objek dengan atribut ref.

Ringkasnya, melalui artikel ini, kami mempelajari cara mengubah suai gaya dalam fungsi kaedah dalam aplikasi uni. Sudah tentu, ini hanyalah salah satu kaedah pelaksanaan, dan terdapat banyak kaedah lain, seperti menggunakan kaedah this.setData() dalam fungsi untuk menukar keadaan data, menggunakan pemilih kelas pseudo CSS dan sebagainya. Dengan menguasai kemahiran ini, kami boleh menjadi lebih fleksibel dalam menyesuaikan gaya halaman kami untuk memenuhi keperluan pengguna.

Atas ialah kandungan terperinci uniapp mengubah suai gaya dalam fungsi kaedah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn