tinymce - 无法保存 Tiny MCE 数据 | Laravel 8 Livewire
问题描述
我已经为我的新闻文章实现了 Tiny MCE,并让它与下面的代码一起工作。当我在不同的 crud 页面上实现相同的代码时,Tiny MCE 内容不会保存到我的变量中。
创建.blade.php
<!-- TinyMce -->
<div class="mb-2 col-span-8 sm:col-span-8" wire:ignore>
<textarea class="tinymce form-input rounded-md shadow-sm mt-1 block w-full " id="content"
name="content" rows="20"
wire:model.debounce.9999999ms="content"
wire:key="content"
x-data
x-ref="content"
x-init="
tinymce.init({
path_absolute: '/',
selector: 'textarea.tinymce',
plugins: [
'advlist autolink lists link image charmap print preview hr anchor pagebreak',
'searchreplace wordcount visualblocks visualchars code fullscreen ',
'insertdatetime media nonbreaking save table directionality',
'emoticons template paste textpattern imagetools help '
],
toolbar: 'insertfile undo redo | styleselect | bold italic forecolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image media | help ',
relative_urls: false,
remove_script_host : false,
document_base_url: '{{config('app.url')}}/',
language: 'en',
setup: function (editor) {
editor.on('init change', function () {
editor.save();
});
editor.on('change', function (e) {
@this.set('content', editor.getContent());
});
},
});
">
</textarea>
</div>
创建.php
public $content = '';
dd($this->content);
dd 的结果是一个空字符串,如果我不定义变量,它将为空。
解决方案
De tanto buscar me parece que esta es una opcion mas optima para no estar dando tantas llamadas al servidos con el eventto chage o blur
<script>
var keypupTimer;
tinymce.init({
selector: '#description',
forced_root_block: false,
theme: "modern",
height: 300,
plugins: [
"advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker",
"searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking",
"save table contextmenu directionality template paste textcolor"
],
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | l ink image | print preview media fullpage | forecolor backcolor emoticons",
setup: function (editor) {
editor.on('init change', function () {
editor.save();
});
editor.on('KeyUp', function (e) {
clearTimeout(keypupTimer);
keypupTimer = setTimeout(DoSomething, 1000);
});
},
});
function DoSomething() {
@this.set('description', tinyMCE.activeEditor.getContent());
}
</script>
推荐阅读
- android - 将按钮更改为以编程方式舍入
- karate - 我也可以对 Json Api 请求使用以下相同的功能吗
- python - 如何在压缩和解压缩文件夹中搜索特定行
- c# - 是否可以将后代对象的集合作为 .NET Core 中的视图模型传入?
- json - 在python中更改json文件中的文本
- node.js - 通过电子邮件节点 js 和 Angular 5 进行帐户验证
- ios - UIGraphicsGetCurrentContext 的上下线颜色不正确
- java - 无法在 spring 2.0.3 中解析 @RestController 注释
- python - Python:匹配两个文件中的两列
- vba - 水平列表作为 Excel-VBA 表单 ComboBox 的 ControlSource