webman admin 控件的使用 如何修改富文本控件的高度
如何修改富文本控件的高度
把控件类型为 富文本
的控件参数设置为 height:300
,则会生成一个 300 高度的 tinymce
tinymce.init({
selector: 'textarea', // change this value according to your HTML
height: 300
});
你也可以将其他的 tinymce
设置添加进这个控件参数当中,查看 tinymce
设置
附上源代码解释
// src/plugin/admin/app/common/Layui.php
/**
* 富文本
* @param $options
* @return void
*/
public function richText($options)
{
[$label, $field, $value, $props, $verify_string, $required_string, $class] = $this->options($options);
$placeholder_string = !empty($props['placeholder']) ? ' placeholder="'.$props['placeholder'].'"' : '';
$disabled_string = !empty($props['disabled']) ? ' disabled' : '';
$id = $field;
$this->htmlContent .= <<<EOF
<div class="layui-form-item">
$label
<div class="$class">
<textarea id="$id" name="$field"$required_string$verify_string$placeholder_string$disabled_string class="layui-textarea">$value</textarea>
</div>
</div>
EOF;
$options_string = '';
if (!isset($props['images_upload_url'])) {
$props['images_upload_url'] = '/app/admin/upload/image';
}
$props = $this->prepareProps($props);
// height 参数被传递至 preparePropsToJsObject 中,这个是一个将 KV map 转换为字符串的函数
$options_string .= "\n" . $this->preparePropsToJsObject($props, 1, true);
$this->jsContent .= <<<EOF
// 字段 {$options['label']} $field
layui.use(["tinymce"], function() {
var tinymce = layui.tinymce
var edit = tinymce.render({
elem: "#$id",$options_string // height 参数被字符串化后直接插入到 $options_string 中
});
edit.on("blur", function(){
layui.$("#$id").val(edit.getContent());
});
});
EOF;
}