/** * title: 综合用法 * desc: 把各种场景、API 都运用了 */ import React, { useState } from 'react'; import { Text, ScrollView } from 'react-native'; import { Dropdown, Space } from '@xrnjs/ui'; import Card from '_global/Card'; const itemOptions = [ { label: '全部商品', value: null, badge: true }, ...[1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 11, 12, 13, 14].map((v) => ({ label: `商品分类${v}`, value: v, badge: v, })), ]; const itemOptions2 = [ { label: '全部商品', value: null }, ...[1, 2, 3, 4].map((v) => ({ label: `商品分类${v}`, value: v, })), ]; const itemOptions3 = [ { label: '全部商品', value: null, children: [] }, ...[1, 2, 3, 4].map((v) => ({ label: `分类_${v}`, value: `${v}`, children: [6, 7, 8].map((vv) => ({ label: `分类_${v}_${vv}`, value: `${v}_${vv}`, children: [9, 10, 11].map((vvv) => ({ label: `分类_${v}_${vv}_${vvv}`, value: `${v}_${vv}_${vvv}`, })), })), })), ]; const itemOptions4 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 11, 12, 13, 14].map( (v) => ({ label: `商品分类${v}`, value: v, badge: v, }) ); const BasicDropdown: React.FC = () => { const [values, setValues] = useState({ v1: itemOptions[0]!.value, v2: itemOptions[3]!.value, v3: itemOptions[2]!.value, v4: itemOptions[4]!.value, }); return ( 暂无数据 自定义布局 左右对齐 { console.log(d); setValues((s) => ({ ...s, v1: v as number, })); }} titleStyle={{ flex: 0, }} /> 禁用下拉框 { setValues((s) => ({ ...s, v1: v as number, })); }} /> 下拉选项加载中、自定义高亮颜色 { setValues((s) => ({ ...s, v3: v as number, })); }} /> { setValues((s) => ({ ...s, v4: v as number, })); }} /> 自定义高亮颜色、有角标与无角标 { setValues((s) => ({ ...s, v3: v as number, })); }} /> { setValues((s) => ({ ...s, v4: v as number, })); }} /> 树形结构选项、有无搜索 { console.log(v); console.log(d); }} /> 选中后可以取消 { console.log(v); console.log(d); }} cancellable /> ); }; export default BasicDropdown;