> 웹 프론트엔드 > uni-app > uniapp에서 태그 선택 기능을 구현하는 방법

uniapp에서 태그 선택 기능을 구현하는 방법

王林
풀어 주다: 2023-07-09 16:17:12
원래의
1965명이 탐색했습니다.

uniapp에서 태그 선택 기능을 구현하는 방법

어플리케이션 개발에서 태그 선택 기능은 공통 요구 사항입니다. 사용자에게 태그 세트를 제공함으로써 사용자는 하나 이상의 태그를 선택하여 분류 또는 필터링 작업을 수행할 수 있습니다. 본 글에서는 uniapp에서 태그 선택 기능을 구현하는 방법을 소개하고 참고할 수 있는 코드 예시를 제공합니다.

1. 태그 목록 만들기
먼저, 선택 가능한 태그를 표시하려면 페이지에 태그 목록을 만들어야 합니다. uniui 컴포넌트 라이브러리의 uni-card 컴포넌트와 uni-icon을 사용하여 라벨의 표시 효과를 미화할 수 있습니다.

<template>
  <view class="tag-list">
    <uni-card v-for="(tag, index) in tagList" :key="index" @click="selectTag(tag)">
      <view class="tag-item">{{tag}}</view>
    </uni-card>
  </view>
</template>
로그인 후 복사

2. 태그 선택 상태 설정
태그 선택 기능을 구현하기 위해서는 사용자가 선택한 태그를 저장할 페이지의 데이터에 선택된 태그의 배열인 selectedTags를 정의해야 합니다. 동시에 태그 목록에서 해당 태그가 선택되었는지 확인하고, 선택한 상태의 스타일을 전환합니다.

<template>
  <view class="tag-list">
    <uni-card v-for="(tag, index) in tagList" :key="index" @click="selectTag(tag)">
      <view class="tag-item" :class="{ 'tag-selected': isSelected(tag) }">{{tag}}</view>
    </uni-card>
  </view>
</template>

<script>
export default {
  data() {
    return {
      tagList: ['标签1', '标签2', '标签3', '标签4', '标签5'],
      selectedTags: []
    }
  },
  methods: {
    selectTag(tag) {
      const index = this.selectedTags.indexOf(tag)
      if (index > -1) {
        this.selectedTags.splice(index, 1)
      } else {
        this.selectedTags.push(tag)
      }
    },
    isSelected(tag) {
      return this.selectedTags.indexOf(tag) > -1
    }
  }
}
</script>

<style>
.tag-item {
  padding: 10rpx;
  margin: 5rpx;
  border-radius: 20rpx;
  background-color: #eee;
  text-align: center;
  font-size: 28rpx;
  color: #333;
}

.tag-selected {
  background-color: #f60;
  color: #fff;
}
</style>
로그인 후 복사

3. 선택한 태그 적용 및 가져오기
선택한 태그를 페이지에 표시하고 선택한 태그를 다음 페이지로 전달하거나 uniapp의 이벤트 메커니즘을 통해 다른 작업을 수행합니다.

<template>
  <view>
    <view class="selected-tags">
      <view v-for="(tag, index) in selectedTags" :key="index" class="selected-tag">{{tag}}</view>
    </view>
    <view class="tag-list">
      <uni-card v-for="(tag, index) in tagList" :key="index" @click="selectTag(tag)">
        <view class="tag-item" :class="{ 'tag-selected': isSelected(tag) }">{{tag}}</view>
      </uni-card>
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      tagList: ['标签1', '标签2', '标签3', '标签4', '标签5'],
      selectedTags: []
    }
  },
  methods: {
    selectTag(tag) {
      const index = this.selectedTags.indexOf(tag)
      if (index > -1) {
        this.selectedTags.splice(index, 1)
      } else {
        this.selectedTags.push(tag)
      }
    },
    isSelected(tag) {
      return this.selectedTags.indexOf(tag) > -1
    }
  }
}
</script>

<style>
.selected-tags {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20rpx;
  padding: 10rpx;
}

.selected-tag {
  padding: 10rpx;
  margin: 5rpx;
  border: 1px solid #666;
  border-radius: 20rpx;
  background-color: #eee;
  text-align: center;
  font-size: 28rpx;
  color: #333;
}

.tag-item {
  padding: 10rpx;
  margin: 5rpx;
  border-radius: 20rpx;
  background-color: #eee;
  text-align: center;
  font-size: 28rpx;
  color: #333;
}

.tag-selected {
  background-color: #f60;
  color: #fff;
}
</style>
로그인 후 복사

위는 유니앱에서 태그 선택 기능을 구현하는 단계와 코드 예시입니다. 위의 구현을 통해 사용자는 자신의 필요에 따라 태그를 선택할 수 있으며 동시에 선택한 태그를 적용하여 데이터 필터링 등과 같은 다른 작업을 수행할 수 있습니다. 개발자는 자신의 필요에 따라 스타일과 기능을 추가로 사용자 정의할 수 있습니다. 이 글이 유니앱에서 태그 선택 기능을 구현하는데 도움이 되길 바랍니다.

위 내용은 uniapp에서 태그 선택 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿