Bisakah saya membuat elemen khusus dapat diketuk?

Ini adalah komponen saya:

<template>
  <FlexboxLayout class="profile-item" flexDirection="column">
    <label :text="text" />
    <label class="subtext" v-if="subtext" :text="subtext" />
  </FlexboxLayout>
</template>

Dan ini adalah bagaimana saya ingin menggunakannya:

<template>
  <ScrollView>
    <StackLayout>
      <Item text="Test" @tap="onItemTap" />
      <Button text="Button" @tap="onItemTap" />
    </StackLayout>
  </ScrollView>
</template>

<script>
import Item from "./Item";

export default {
  components: {
    Item
  },
  methods: {
    onItemTap(event) {
      alert('test');
    },
  }
};
</script>

Merekam tombol berfungsi tetapi bukan elemen khusus saya.

0
Philipp S. 10 Mei 2021, 17:51

1 menjawab

Jawaban Terbaik

Anda dapat menangani peristiwa ketuk dari dalam elemen khusus atau membungkus elemen khusus di dalam ContentView dan melampirkan peristiwa ketuk ke wadah seperti ini:

<template>
  <ScrollView>
    <StackLayout>
      <ContentView @tap="onItemTap">
        <Item text="Test" />
      </ContentView>
      <Button text="Button" @tap="onItemTap" />
    </StackLayout>
  </ScrollView>
</template>

1
William Juan 11 Mei 2021, 10:53