FLUTTER ECOSYSTEM

davidsdearaujo/rating

Flutter: 평점 바텀 시트

평가 프로젝트 이미지
Stars
5
Forks
7
최근 푸시(UTC)
2022. 1. 1.
프로젝트 상태
활성
David Araujo GitHub avatar
GITHUB User

David Araujo ↗

Front End Developer at Autonation | Flutter Google Mentor | Flutterando Founder

Autonation
언어DartHTMLSwiftKotlinObjective-C

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 5 개

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기

Rating bottom sheet

Features

https://user-images.githubusercontent.com/16373553/147670616-6aae2ee5-ddcc-4029-8c84-fb63fc27d7b9.gif https://user-images.githubusercontent.com/16373553/147670635-4dd7e23b-19a2-4ee5-b5b9-0d2ca90a8bf4.gif

Getting started

pubspec.yaml

rating: <lastest version>

Usage

Implement the RatingController

class PrintRatingController extends RatingController {
  PrintRatingController(RatingModel ratingModel) : super(ratingModel);

  @override
  Future<void> ignoreForEverCallback() async {
    print('Rating ignored forever!');
    await Future.delayed(const Duration(seconds: 3));
  }

  @override
  Future<void> saveRatingCallback(int rate, List<RatingCriterionModel> selectedCriterions) async {
    print('Rating saved!\nRate: $rate\nsSelectedItems: $selectedCriterions');
    await Future.delayed(const Duration(seconds: 3));
  }
}

Create one RatingModel

final ratingModel = RatingModel(
  id: 1,
  title: null,
  subtitle: 'Classifique nosso app:',
  ratingConfig: RatingConfigModel(
    id: 1,
    ratingSurvey1: 'Em que podemos melhorar?',
    ratingSurvey2: 'Em que podemos melhorar?',
    ratingSurvey3: 'Em que podemos melhorar?',
    ratingSurvey4: 'Em que podemos melhorar?',
    ratingSurvey5: 'O que você mais gostou?',
    items: [
      RatingCriterionModel(id: 1, name: 'Qualidade do atendimento'),
      RatingCriterionModel(id: 2, name: 'Competência dos atendentes'),
      RatingCriterionModel(id: 3, name: 'Limpeza do ambiente'),
      RatingCriterionModel(id: 4, name: 'Tempo de espera'),
    ],
  ),
);

Show the Rating Widget using the custom Rating Controller PrintRatingController and the new RatingModel

showModalBottomSheet(
  context: context,
  builder: (context) => RatingWidget(controller: PrintRatingController(ratingModel)),
);