React Icon反转
/*** @author leesin* @date 2022-03-21 23:55:07* @desc icon*/import React, { useEffect, useState, FC } from 'react';import { Tooltip } from 'antd';import { UpOutlined } from '@ant-design/icons';import $ from './style.less';interface Props {data?: object;}/** 搜索 */const IndexSearch: FC<Props> = (props) => {const [icon, setIcon] = useState(false);useEffect(() => {}, []);const test = {0: {title: '展开',},1: {title: '收起',},};const handleTest = () => {setIcon(!icon);};return (<div className="index"><Tooltip title={test[+icon].title}><UpOutlined className={$.test} data-type={icon} onClick={handleTest} /></Tooltip></div>);};export default IndexSearch;
.test {&[data-type='true'] {transform: rotate(0deg);transition: 0.5s all linear;}&[data-type='false'] {transform: rotate(-180deg);transition: 0.5s all linear;}}
Vue Icon反转
<script>/*** @author leesin* @date 2022-03-10 10:10:01* @desc*/export default {name: "basicConfigInfo",components: {},props: {},data() {return {icon: false,iconStatus: {a: {title: "展开",},1: {title: "收起",},},};},watch: {},methods: {handleSetIcon() {this.icon = !this.icon;},},mounted() {},computed: {},render() {return (<div class="basicConfigInfo"><a-tooltip title={this.iconStatus[+this.icon].title}><a-icontype="up"class="icon"data-type={`${this.icon}`}onClick={this.handleSetIcon}/></a-tooltip></div>);},};</script><style lang="less" scoped>.icon {&[data-type="true"] {transform: rotate(0deg);transition: 0.3s all linear;}&[data-type="false"] {transform: rotate(180deg);transition: 0.3s all linear;}}</style>
