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


posted @ 2024-06-20 23:30  我听不见  阅读(11)  评论(0编辑  收藏  举报