import Taro, { getCurrentInstance } from "@tarojs/taro"; import React, { Component } from "react"; import { View, Image, Text, ScrollView } from "@tarojs/components"; import logo from "../asset/component/logo.png"; import viewPng from "../asset/component/view.png"; import contentPng from "../asset/component/content.png"; import formPng from "../asset/component/form.png"; import layoutPng from "../asset/component/form.png"; import navPng from "../asset/component/nav.png"; import mediaPng from "../asset/component/media.png"; import mapPng from "../asset/component/map.png"; import canvasPng from "../asset/component/canvas.png"; import "./index.scss"; const PNGS = { viewPng, contentPng, formPng, layoutPng, navPng, mediaPng, mapPng, canvasPng }; export default class Index extends Component { constructor(props: never) { super(props); this.state = { list: [ { id: "view", name: "基础视图容器", open: false, pages: [ "view", "scroll-view", "swiper", "movable-view", "image" ] }, { id: "content", name: "基础组件内容", open: false, pages: ["text", "icon", "progress", "rich-text"] }, { id: "form", name: "表单组件", open: false, pages: [ "button", "checkbox", "form", "input", "label", "picker", "picker-view", "radio", "slider", "switch", "textarea" ] }, { id: "layout", name: "布局组件", open: false, pages: [ "grid", "virtual-list" ] } ] }; } kindToggle = (id: string) => () => { const list = this.state.list; for (var i = 0, len = list.length; i < len; ++i) { if (list[i].id == id) { list[i].open = !list[i].open; } else { list[i].open = false; } } this.setState({ list: list }); }; goToComponent = (page: { url: string }) => { Taro.navigateTo({ url: page.url }); }; render() { return ( 以下将展示AMAP基础组件能力,组件样式仅供参考,开发者可根据自身需求自定义组件样式。 {this.state.list .map(item => { item.hdClass = "kind-list-item-hd " + (item.open ? "kind-list-item-hd-show" : ""); item.bdClass = "kind-list-item-bd " + (item.open ? "kind-list-item-bd-show" : ""); item.boxClass = "navigator-box " + (item.open ? "navigator-box-show" : ""); item.imgSrc = PNGS[`${item.id}Png`]; item._pages = item.pages.map(page => { return { page: page, url: `/pages/amapPage/components/pages/${page}/index` }; }); return item; }) .map((item, index) => { return ( {item.name} {item._pages.map((page, index) => { return ( {page.page} ); })} ); })} ); } }