- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在文本区域内呈现表情符号,此时我被难住了。
https://jsfiddle.net/nvt7qjar/
我看不到如何在文本区域内使用 dangerouslySetInnerHTML 的值,所以当您添加表情符号时,您会看到它们在预览中呈现吗?
提前致谢。
使用的表情符号库
<script src="//cdn.jsdelivr.net/emojione/1.5.0/lib/js/emojione.min.js"></script>
<link rel="stylesheet" href="//cdn.jsdelivr.net/emojione/1.5.0/assets/css/emojione.min.css" />
代码:
var Emoji = React.createClass({
rawMarkup: function() {
var rawMarkup = emojione.shortnameToImage(this.props.emojcode.toString(), {sanitize: true});
return { __html: rawMarkup };
},
handleClick: function(id) {
this.props.handleClick(id);
},
render: function() {
return (
<div id="emojText">
<button onClick={this.handleClick.bind(this, this.props.emojcode)}><span dangerouslySetInnerHTML={this.rawMarkup()} /></button>
</div>
);
}
});
var App = React.createClass({
getInitialState: function() {
return {
data: [':grinning:', ':joy:', ':smiley:', ':laughing:' ],
text: ''
};
},
_onChange: function(event, value) {
this.setState({
text: event.target.value
});
},
handleClick(item) {
this.setState({
text: this.state.text +=item
});
},
rawMarkup: function() {
var rawMarkup = emojione.shortnameToImage(this.state.text.toString(), {sanitize: true});
return { __html: rawMarkup };
},
render: function() {
var _this = this;
var data = this.state.data.map(function(item){
return (
<Emoji emojcode={item} handleClick={_this.handleClick}/>
);
});
return (
<div className="container">
<span dangerouslySetInnerHTML={this.rawMarkup()} />
{data}
<div className="clearfix"></div>
<textarea
className="message-composer"
name="message"
value={this.state.text}
onChange={this._onChange.bind(this)}
/>
</div>
);
}
});
ReactDOM.render(
<App name="World" />,
document.getElementById('container')
);
最佳答案
你必须使用content editable div eg
<div contenteditable='true'><div>
关于reactjs - dangerouslySetInnerHTML inside textarea - 表情符号标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33381835/
我遇到了 Handlebars 表达式 {{!< default}}我不明白。在问这个问题之前,我曾尝试在谷歌上搜索答案。但是,我找不到任何答案。谁能解释一下这个表达式是什么意思? 最佳答案 在 Ha
经常有朋友问起,如何在im即时通讯中实现发送图片、视频、语音和表情? 为此,小编特意写了一个vue版本的demo,实现了图片视频文件和表情的的发送,参考这个demo源代码,相信你就可以轻松的用un
这里是一个网站 ( https://twitchemotes.com/apidocs ),它展示了一个用于获取 twitch 表情的 API(基本上是描述属于不同用户的一组图像的 json)。 API
使用 Python 3,像下面这样的简单脚本应该按预期运行,但似乎会因 unicode 表情字符串而窒息: import re phrase = "(╯°□°)╯ ︵ ┻━┻" pattern = r
我试图弄清楚表情符号(表情)选择是如何在 Facebook 应用和 Google Hangouts 应用上实现的。我查看了 Android API 示例中的 SoftKeyboard 演示应用程序,但
我正在尝试在 android 通知文本中显示笑脸(或图像范围)。它不起作用。有人知道怎么做吗?谢谢。 代码如下: SpannableStringBuilder builder = new Spanna
我是一名优秀的程序员,十分优秀!