ant-design/components/comment/demo/basic.md
黑雨 01ca7c7821
test: convert demo to testing-lib (#37381)
* 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>
2022-09-09 15:51:35 +08:00

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;
}
```