mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-16 18:09:22 +08:00
01ca7c7821
* test: replace testing-lib * test: replace testing-lib * test: replace testing-lib * test: update snap * test: replace testing-lib * test: replace testing-lib * test: update for lint * merge: merge * test: testing-lib * test: replace testing-lib * test: testing-lib * test: testing-lib * test: replace testing-lib * test: replace testing-lib * test: Replace test aria replacment logic * test: Update snapshot * chore: hack for id * test: clean up * test: clean demo * chore: update * test: snapshot update * test: fix snapshot rep logic * test: fix snapshot rep logic * test: fix snapshot rep logic * chore: update demo * test: fix snapshot rep logic * test: Update snapshot * test: rest snapshot * test: update snapshot * test: Update test case * test: config env * chore: clean up * chore: Use renderServer instead * test: adjust testing logic * test: modify test logic * test: split ssr test * test: skip if need skip * chore: ignore test file covv Co-authored-by: 二货机器人 <smith3816@gmail.com>
90 lines
2.1 KiB
Markdown
90 lines
2.1 KiB
Markdown
---
|
|
order: 0
|
|
title:
|
|
zh-CN: 基本评论
|
|
en-US: Basic comment
|
|
---
|
|
|
|
## zh-CN
|
|
|
|
一个基本的评论组件,带有作者、头像、时间和操作。
|
|
|
|
## en-US
|
|
|
|
A basic comment with author, avatar, time and actions.
|
|
|
|
```tsx
|
|
import { DislikeFilled, DislikeOutlined, LikeFilled, LikeOutlined } from '@ant-design/icons';
|
|
import { Avatar, Comment, Tooltip } from 'antd';
|
|
import React, { createElement, useState } from 'react';
|
|
|
|
const App: React.FC = () => {
|
|
const [likes, setLikes] = useState(0);
|
|
const [dislikes, setDislikes] = useState(0);
|
|
const [action, setAction] = useState<string | null>(null);
|
|
|
|
const like = () => {
|
|
setLikes(1);
|
|
setDislikes(0);
|
|
setAction('liked');
|
|
};
|
|
|
|
const dislike = () => {
|
|
setLikes(0);
|
|
setDislikes(1);
|
|
setAction('disliked');
|
|
};
|
|
|
|
const actions = [
|
|
<Tooltip key="comment-basic-like" title="Like">
|
|
<span onClick={like}>
|
|
{createElement(action === 'liked' ? LikeFilled : LikeOutlined)}
|
|
<span className="comment-action">{likes}</span>
|
|
</span>
|
|
</Tooltip>,
|
|
<Tooltip key="comment-basic-dislike" title="Dislike">
|
|
<span onClick={dislike}>
|
|
{React.createElement(action === 'disliked' ? DislikeFilled : DislikeOutlined)}
|
|
<span className="comment-action">{dislikes}</span>
|
|
</span>
|
|
</Tooltip>,
|
|
<span key="comment-basic-reply-to">Reply to</span>,
|
|
];
|
|
|
|
return (
|
|
<Comment
|
|
actions={actions}
|
|
author={<a>Han Solo</a>}
|
|
avatar={<Avatar src="https://joeschmoe.io/api/v1/random" alt="Han Solo" />}
|
|
content={
|
|
<p>
|
|
We supply a series of design principles, practical patterns and high quality design
|
|
resources (Sketch and Axure), to help people create their product prototypes beautifully
|
|
and efficiently.
|
|
</p>
|
|
}
|
|
datetime={
|
|
<Tooltip title="2016-11-22 11:22:33">
|
|
<span>8 hours ago</span>
|
|
</Tooltip>
|
|
}
|
|
/>
|
|
);
|
|
};
|
|
|
|
export default App;
|
|
```
|
|
|
|
```css
|
|
/* tile uploaded pictures */
|
|
.comment-action {
|
|
padding-left: 8px;
|
|
cursor: 'auto';
|
|
}
|
|
|
|
[class*='-col-rtl'] .comment-action {
|
|
padding-right: 8px;
|
|
padding-left: 0;
|
|
}
|
|
```
|