jsdw_ios/QuickLocation/Section/VipRecharge/VipRechargeViewModel.swift

48 lines
1.0 KiB
Swift

//
// VipRechargeViewModel.swift
// QuickLocation
//
// Created by on 2026/6/3.
//
import RxSwift
import RxCocoa
import RxDataSources
class VipRechargeViewModel {
struct Output {
var sectionedItems: Observable<[ExpenseSectionModel]>
}
let output: Output
private let sectionedItems = PublishSubject<[ExpenseSectionModel]>()
private let expenseList: [ExpenseItem] = [
ExpenseItem(title: "白银会员", tag: "推荐"),
ExpenseItem(title: "黄金会员", tag: "热门"),
ExpenseItem(title: "钻石会员", tag: "爆款"),
ExpenseItem(title: "永久会员", tag: "超值")
]
var selectedIndex: Int = 0 {
didSet {
loadData()
}
}
func loadData() {
sectionedItems.onNext([SectionModel(model: "expense", items: expenseList)])
}
func isSelected(at index: Int) -> Bool {
return index == selectedIndex
}
init() {
output = Output(
sectionedItems: sectionedItems.asObservable()
)
}
}