您的位置:MYSQL中文网 > react 折叠面板 Element-React Collapse 折叠面板

react 折叠面板 Element-React Collapse 折叠面板

2023-07-17 03:30

react 折叠面板 Element-React Collapse 折叠面板

react 折叠面板

React 折叠面板是一种常见的用户界面元素,它可以帮助用户更好地理解和控制信息的展示。它通常由一个标题栏和一个内容区域组成,当用户单击标题栏时,内容区域会折叠/展开。

React 折叠面板的优势在于,它能够有效地将大量信息进行分组,使得用户能够快速浏览并找到所需的信息。此外,React 折叠面板还具有良好的交互性,能够让用户快速、方便地对信息进行浏览、排序、过滤等操作。

import React, { useState } from 'react';
import { Collapse } from 'react-collapse';
 
const App = () => {
  const [isOpen, setIsOpen] = useState(false);

  return (
    
Content
); };

Element-React Collapse 折叠面板

可同时展开多个面板,面板之间不影响

render() {
  const activeName = "1";
  return (
    <Collapse value={activeName}>
      <Collapse.Item title="一致性 Consistency" name="1">
        <div>与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;</div>
        <div>在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。</div>
      </Collapse.Item>
      <Collapse.Item title="反馈 Feedback" name="2">
        <div>控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;</div>
        <div>页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。</div>
      </Collapse.Item>
      <Collapse.Item title="效率 Efficiency" name="3">
        <div>简化流程:设计简洁直观的操作流程;</div>
        <div>清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;</div>
        <div>帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。</div>
      </Collapse.Item>
      <Collapse.Item title="可控 Controllability" name="4">
        <div>用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;</div>
        <div>结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。</div>
      </Collapse.Item>
    </Collapse>
  )
}

手风琴效果

每次只能展开一个面板

通过 accordion 属性来设置是否以手风琴模式显示。

constructor(props) {
  super(props)


  this.state = {
    activeName: "1"
  }
}


render() {
  return (
    <div>
      <Button
        type="primary"
        style={{marginBottom: "15px"}}
        onClick={() => this.setState({ activeName: "3" })}
      >
        打开第三个
      </Button>
      <Collapse value={this.state.activeName} accordion>
        <Collapse.Item title="一致性 Consistency" name="1">
          <div>与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;</div>
          <div>在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。</div>
        </Collapse.Item>
        <Collapse.Item title="反馈 Feedback" name="2">
          <div>控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;</div>
          <div>页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。</div>
        </Collapse.Item>
        <Collapse.Item title="效率 Efficiency" name="3">
          <div>简化流程:设计简洁直观的操作流程;</div>
          <div>清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;</div>
          <div>帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。</div>
        </Collapse.Item>
        <Collapse.Item title="可控 Controllability" name="4">
          <div>用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;</div>
          <div>结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。</div>
        </Collapse.Item>
      </Collapse>
    </div>
  )
}

自定义面板标题

可以通过 title 属性来实现自定义面板的标题内容,以实现增加图标等效果。

render() {
  return (
    <Collapse accordion>
      <Collapse.Item title={<span>一致性 Consistency<i className="header-icon el-icon-information"></i></span>}>
        <div>与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;</div>
        <div>在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。</div>
      </Collapse.Item>
      <Collapse.Item title="反馈 Feedback">
        <div>控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;</div>
        <div>页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。</div>
      </Collapse.Item>
      <Collapse.Item title="效率 Efficiency">
        <div>简化流程:设计简洁直观的操作流程;</div>
        <div>清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;</div>
        <div>帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。</div>
      </Collapse.Item>
      <Collapse.Item title="可控 Controllability">
        <div>用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;</div>
        <div>结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。</div>
      </Collapse.Item>
    </Collapse>
  )
}

Collapse Attributes

参数 说明 类型 可选值 默认值
accordion 是否手风琴模式 boolean false
value 当前激活的面板(如果是手风琴模式,绑定值类型需要为string,否则为array) string/array

Collapse Events

事件名称 说明 回调参数
onChange 当前激活面板改变时触发(如果是手风琴模式,参数类型为string,否则为array) (activeNames: array/string)

Collapse Item Attributes

参数 说明 类型 可选值 默认值
name 唯一标志符 string/number
title 面板标题 string/node
阅读全文
以上是MYSQL中文网为你收集整理的react 折叠面板 Element-React Collapse 折叠面板全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 MYSQL中文网 mysqlcn.com 版权所有 联系我们
桂ICP备12005667号-29 Powered by CMS