日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)百度小程序教程:Editor富文本編輯器
  • Editor 富文本編輯器
    • 介紹
    • 使用方法
      • 1. 在項(xiàng)目中引用動(dòng)態(tài)庫(kù)
      • 2. 在使用到富文本編輯器組件的頁(yè)面配置動(dòng)態(tài)庫(kù)
      • 3. 編寫(xiě)*.swan文件
    • Editor 組件屬性列表
      • 支持的標(biāo)簽
      • 支持的內(nèi)聯(lián)樣式
    • EditorContext 實(shí)例
      • 使用方法
      • EditorContext.blur(Object object)
      • EditorContext.clear(Object object)
      • EditorContext.format(String name, String value)
      • EditorContext.getContents(Object object)
      • EditorContext.getSelectionText(Object object)
      • EditorContext.insertDivider(Object object)
      • EditorContext.insertImage(Object object)
      • EditorContext.insertText(Object object)
      • EditorContext.removeFormat(Object object)
      • EditorContext.setContents(Object object)
      • EditorContext.scrollIntoView()
      • EditorContext.redo(Object object)
      • EditorContext.undo(Object object)
    • 示例
      • 圖片示例

    Editor 富文本編輯器

    介紹

    Editor 富文本編輯器動(dòng)態(tài)庫(kù)提供了支持富文本編輯的editor組件和操作editor組件的createEditorContext方法,通過(guò)使用該動(dòng)態(tài)庫(kù),用戶可以對(duì)圖片、文本進(jìn)行編輯。編輯器導(dǎo)出內(nèi)容支持帶標(biāo)簽的html和純文本的text,編輯器內(nèi)部采用delta格式進(jìn)行存儲(chǔ)。

    成都創(chuàng)新互聯(lián)公司專注于崇州網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供崇州營(yíng)銷型網(wǎng)站建設(shè),崇州網(wǎng)站制作、崇州網(wǎng)頁(yè)設(shè)計(jì)、崇州網(wǎng)站官網(wǎng)定制、小程序開(kāi)發(fā)服務(wù),打造崇州網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供崇州網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

    富文本編輯器組件中設(shè)置了一些基本樣式使得內(nèi)容可以正確展示,在開(kāi)發(fā)過(guò)程中可以進(jìn)行覆蓋,在其他組件或者環(huán)境中使用富文本編輯器導(dǎo)出的html時(shí),需要額外維護(hù)以下DOM結(jié)構(gòu):

     
     
     

    使用方法

    1. 在項(xiàng)目中引用動(dòng)態(tài)庫(kù)

    參考使用動(dòng)態(tài)庫(kù)中提供的方法,在app.json中增添一項(xiàng)dynamicLib,與pages同級(jí)。

    • JSON
     
     
     
    1. "dynamicLib": {
    2. "editorLib": {
    3. "provider": "swan-editor"
    4. }
    5. },

    2. 在使用到富文本編輯器組件的頁(yè)面配置動(dòng)態(tài)庫(kù)

    在每個(gè)使用到富文本編輯器組件的頁(yè)面,配置*.json文件如:

    • JSON
     
     
     
    1. {
    2. "usingSwanComponents": {
    3. "editor": "dynamicLib://editorLib/editor"
    4. }
    5. }

    3. 編寫(xiě)*.swan文件

    • SWAN
     
     
     
    1. read-only="{{readOnly}}"
    2. placeholder="{{placeholder}}"
    3. />

    這是一種最基本的使用方式,其中readOnlyplaceholder的值可以在*.js文件中設(shè)置。

    • JS
     
     
     
    1. Page({
    2. data: {
    3. readOnly: false,
    4. placeholder: '請(qǐng)輸入...'
    5. }
    6. });

    Editor 組件屬性列表

    屬性 類型 默認(rèn)值 必填 說(shuō)明
    read-only Boolean false 設(shè)置編輯器為只讀
    placeholder String 編輯器提示信息
    show-img-size Boolean false 點(diǎn)擊圖片時(shí)顯示圖片大小控件
    show-img-resize Boolean false 點(diǎn)擊圖片時(shí)顯示圖片縮放控件
    show-img-toolbar Boolean false 點(diǎn)擊圖片時(shí)顯示圖片工具欄控件
    bindready EventHandle 編輯器初始化完成時(shí)觸發(fā)
    bindfocus EventHandle 編輯器聚焦時(shí)觸發(fā),event.detail = { html, text, delta }
    bindblur EventHandle 編輯器失去焦點(diǎn)時(shí)觸發(fā),event.detail = { html, text, delta }
    bindinput EventHandle 編輯器內(nèi)容改變時(shí)觸發(fā),event.detail = { html, text, delta }
    bindstatuschange EventHandle 編輯器內(nèi)容或樣式通過(guò)EditorContext中的方法改變時(shí)觸發(fā),返回選區(qū)已設(shè)置的樣式

    編輯器內(nèi)支持部分HTML標(biāo)簽和內(nèi)聯(lián)樣式,但不支持classid。

    支持的標(biāo)簽

    不滿足的標(biāo)簽會(huì)被忽略,div標(biāo)簽會(huì)被轉(zhuǎn)換為p標(biāo)簽存儲(chǔ)。

    類型 節(jié)點(diǎn)
    行內(nèi)元素
    塊級(jí)元素

    支持的內(nèi)聯(lián)樣式

    內(nèi)聯(lián)樣式僅支持設(shè)置在行內(nèi)元素或塊級(jí)元素上,不能同時(shí)設(shè)置,如text-align歸類為塊級(jí)樣式,在span標(biāo)簽上設(shè)置是無(wú)效的。

    類型 樣式
    塊級(jí)樣式 text-align、direction
    行內(nèi)樣式 color、background-color

    EditorContext 實(shí)例

    Editor 富文本編輯器動(dòng)態(tài)庫(kù)提供了createEditorContext的方法來(lái)獲取某個(gè)editor組件的實(shí)例,EditorContext通過(guò)id和一個(gè)editor組件綁定,操作對(duì)應(yīng)的editor組件。

    使用方法

    • JS
     
     
     
    1. Page({
    2. onEditorReady() {
    3. this.editorCtx = requireDynamicLib('editorLib').createEditorContext('editorId');
    4. }
    5. });

    EditorContext.blur(Object object)

    解釋:編輯器失焦。

    參數(shù):Object object

    屬性 類型 默認(rèn)值 必填 說(shuō)明
    success Function 接口調(diào)用成功的回調(diào)函數(shù)
    fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
    complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

    EditorContext.clear(Object object)

    解釋:清空編輯器內(nèi)容。

    參數(shù):Object object

    屬性 類型 默認(rèn)值 必填 說(shuō)明
    success Function 接口調(diào)用成功的回調(diào)函數(shù)
    fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
    complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

    EditorContext.format(String name, String value)

    解釋:修改格式。

    對(duì)已經(jīng)應(yīng)用樣式的選區(qū)設(shè)置會(huì)取消樣式。

    參數(shù)

    String name:屬性

    String value:值

    支持設(shè)置的樣式列表

    name value
    bold
    italic
    underline
    strike
    ins
    script sub / super
    header H1 / H2 / H3 / H4 / H5 / H6
    align center / right / justify
    direction rtl
    indent -1 / +1
    list ordered / bullet / check
    color hex color
    backgroudColor hex color

    EditorContext.getContents(Object object)

    解釋:獲取編輯器內(nèi)容。

    參數(shù):Object object

    屬性 類型 默認(rèn)值 必填 說(shuō)明
    success Function 接口調(diào)用成功的回調(diào)函數(shù)
    fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
    complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

    object.success 回調(diào)函數(shù)

    參數(shù):Object res

    屬性 類型 說(shuō)明
    html String 帶標(biāo)簽的html內(nèi)容
    text String 純文本內(nèi)容
    delta Object 描述內(nèi)容的delta對(duì)象

    EditorContext.getSelectionText(Object object)

    解釋:獲取編輯器內(nèi)選區(qū)的純文本內(nèi)容。當(dāng)編輯器失焦或未選中一段區(qū)間時(shí),返回內(nèi)容為空。

    參數(shù):Object object

    屬性 類型 默認(rèn)值 必填 說(shuō)明
    success Function 接口調(diào)用成功的回調(diào)函數(shù)
    fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
    complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

    object.success 回調(diào)函數(shù)

    參數(shù):Object res

    屬性 類型 說(shuō)明
    text String 純文本內(nèi)容

    EditorContext.insertDivider(Object object)

    解釋:插入分隔符。

    參數(shù):Object object

    屬性 類型 默認(rèn)值 必填 說(shuō)明
    success Function 接口調(diào)用成功的回調(diào)函數(shù)
    fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
    complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

    EditorContext.insertImage(Object object)

    解釋:插入圖片。

    參數(shù):Object object

    屬性 類型 默認(rèn)值 必填 說(shuō)明
    src String 圖片地址,目前僅支持 http(s)、base64、本地圖片
    alt String 圖片無(wú)法顯示時(shí)的替代文本
    extClass String 添加到圖片 img 標(biāo)簽上的類名
    data Object data 會(huì)被序列化為name1=value1&name2=value2的格式掛在屬性 data-custom 上
    success Function 接口調(diào)用成功的回調(diào)函數(shù)
    fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
    complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

    EditorContext.insertText(Object object)

    解釋:覆蓋當(dāng)前選區(qū),設(shè)置一段文本。

    參數(shù):Object object

    屬性 類型 默認(rèn)值 必填 說(shuō)明
    text String 文本內(nèi)容
    success Function 接口調(diào)用成功的回調(diào)函數(shù)
    fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
    complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

    EditorContext.removeFormat(Object object)

    解釋:清除當(dāng)前選區(qū)的樣式。

    參數(shù):Object object

    屬性 類型 默認(rèn)值 必填 說(shuō)明
    success Function 接口調(diào)用成功的回調(diào)函數(shù)
    fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
    complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

    EditorContext.setContents(Object object)

    解釋:初始化編輯器內(nèi)容,htmldelta同時(shí)存在時(shí)僅delta生效。

    需要注意的是,通過(guò)setContents設(shè)置編輯器內(nèi)容時(shí),由于支持的html標(biāo)簽和內(nèi)聯(lián)樣式有限,建議開(kāi)發(fā)者在小程序內(nèi)通過(guò)delta進(jìn)行插入。

    參數(shù):Object object

    屬性 類型 默認(rèn)值 必填 說(shuō)明
    html String 帶標(biāo)簽的html內(nèi)容
    delta Object 描述內(nèi)容的delta對(duì)象
    success Function 接口調(diào)用成功的回調(diào)函數(shù)
    fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
    complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

    EditorContext.scrollIntoView()

    解釋:將編輯器光標(biāo)處滾動(dòng)到窗口可視區(qū)域內(nèi)。

    EditorContext.redo(Object object)

    解釋:恢復(fù)。

    參數(shù):Object object

    屬性 類型 默認(rèn)值 必填 說(shuō)明
    success Function 接口調(diào)用成功的回調(diào)函數(shù)
    fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
    complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

    EditorContext.undo(Object object)

    解釋:撤銷。

    參數(shù):Object object

    屬性 類型 默認(rèn)值 必填 說(shuō)明
    success Function 接口調(diào)用成功的回調(diào)函數(shù)
    fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
    complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

    示例

    在開(kāi)發(fā)者工具中打開(kāi)

    在開(kāi)發(fā)者工具中打開(kāi)

    在 WEB IDE 中打開(kāi)

    掃碼體驗(yàn)

    代碼示例

    請(qǐng)使用百度APP掃碼

    圖片示例

    • SWAN
    • JS
    • CSS
     
     
     
    1. id="editorId"
    2. class="editor"
    3. placeholder="開(kāi)始輸入..."
    4. bindready="onEditorReady"
    5. bindstatuschange="onStatusChange"
    6. show-img-size
    7. show-img-resize
    8. show-img-toolbar
    9. />
     
     
     
    1. const INIT_CONTENT_HTML = `
    2. 支持插入圖片


    3. image-alt

    4. 支持以下字符樣式

    5. bold粗體
    6. italic斜體
    7. underline下劃線
    8. sub下標(biāo)
    9. super上標(biāo)

    10. 支持以下列表樣式

      1. 有序列表
      2. 有序列表
      • 無(wú)序列表
      • 無(wú)序列表
      • 選框列表
      • 選框列表

    11. 支持以下字符大小

    12. H1 一級(jí)標(biāo)題

    13. H2 二級(jí)標(biāo)題

    14. H3 三級(jí)標(biāo)題

    15. H4 四級(jí)標(biāo)題

    16. H5 五級(jí)標(biāo)題
    17. H6 六級(jí)標(biāo)題

    18. 支持以下對(duì)齊方式

    19. center中間對(duì)齊

    20. right 右對(duì)齊

    21. justify 自動(dòng)對(duì)齊


    22. color 支持設(shè)置字體及背景顏色`;
    23. Page({
    24. data: {
    25. formats: {}
    26. },
    27. // 編輯器初始化完成時(shí)觸發(fā)的事件,用于加載編輯器初始內(nèi)容
    28. onEditorReady() {
    29. this.editorCtx = requireDynamicLib('editorLib').createEditorContext('editorId');
    30. this.initContent();
    31. },
    32. // 設(shè)置編輯器初始內(nèi)容
    33. initContent() {
    34. this.editorCtx.setContents({
    35. html: INIT_CONTENT_HTML
    36. });
    37. },
    38. // 編輯器內(nèi)插入圖片函數(shù)
    39. insertImage() {
    40. const editorCtx = this.editorCtx;
    41. swan.chooseImage({
    42. count: 1,
    43. success: res => {
    44. editorCtx.insertImage({
    45. src: res.tempFilePaths[0],
    46. alt: '插入圖片',
    47. data: {
    48. id: 'insert-image',
    49. role: 'user'
    50. },
    51. success: () => {
    52. swan.showToast({
    53. title: '插入圖片成功'
    54. });
    55. },
    56. fail: err => {
    57. swan.showToast({
    58. title: '插入圖片失敗',
    59. icon: 'none'
    60. });
    61. }
    62. });
    63. }
    64. });
    65. },
    66. /**
    67. * 更改編輯器選區(qū)為不同格式
    68. *
    69. * @param {Object} e.target.dataset 獲取 swan 頁(yè)面的傳參:name、value
    70. *
    71. */
    72. format(e) {
    73. const {name, value} = e.target.dataset;
    74. if (!name) {
    75. return;
    76. }
    77. this.editorCtx.format(name, value);
    78. },
    79. /**
    80. * 編輯器內(nèi)容或樣式通過(guò)方法改變時(shí)觸發(fā)的事件,返回選區(qū)已設(shè)置的樣式
    81. *
    82. * @param {Object} e.detail 事件對(duì)象
    83. *
    84. */
    85. onStatusChange(e) {
    86. const formats = e.detail;
    87. this.setData({
    88. formats
    89. });
    90. },
    91. // 編輯器中插入分隔符
    92. insertDivider() {
    93. this.editorCtx.insertDivider();
    94. },
    95. // 清除編輯器中內(nèi)容,與工具欄的垃圾桶圖標(biāo)對(duì)應(yīng)
    96. clear() {
    97. const editorCtx = this.editorCtx;
    98. swan.showModal({
    99. title: '清空編輯器',
    100. content: '確定清空編輯器全部?jī)?nèi)容?',
    101. success: res => {
    102. if (res.confirm) {
    103. editorCtx.clear();
    104. }
    105. }
    106. });
    107. }
    108. });
     
     
     
    1. @font-face {
    2. font-family: "iconfont"; /* project id 2000141 */
    3. src: url(http://at.alicdn.com/t/font_2000141_vma36b09h9.wof) format("woff"),
    4. url(http://at.alicdn.com/t/font_2000141_vma36b09h9.ttf) format("truetype"),
    5. url(http://at.alicdn.com/t/font_2000141_vma36b09h9.svg#iconfont) format("svg");
    6. }
    7. .iconfont {
    8. display: inline-block;
    9. font-size: 22px;
    10. width: 30px;
    11. height: 30px;
    12. font-family: "iconfont" !important;
    13. font-style: normal;
    14. -webkit-font-smoothing: antialiased;
    15. -moz-osx-font-smoothing: grayscale;
    16. }
    17. .icon-image:before {
    18. content: "\e60e";
    19. }
    20. .icon-format-header-1:before {
    21. content: "\e610";
    22. }
    23. .icon-format-header-2:before {
    24. content: "\e60f";
    25. }
    26. .icon-format-bold:before {
    27. content: "\e60a";
    28. }
    29. .icon-format-list:before {
    30. content: "\e60b";
    31. }
    32. .icon-divider:before {
    33. content: "\e609";
    34. }
    35. .icon-clear:before {
    36. content: "\e60c";
    37. }
    38. .icon-format-italic:before {
    39. content: "\e60d";
    40. }
    41. .editor-wrap {
    42. width: 100%;
    43. height: 100vh;
    44. }
    45. .editor {
    46. display: block;
    47. box-sizing: border-box;
    48. width: 100%;
    49. height: 100%;
    50. margin-top: 50px;
    51. padding: 38.043rpx 30.797rpx;
    52. }
    53. swan-editor {
    54. display: block;
    55. }
    56. .ql-editor {
    57. height: 100%;
    58. }
    59. .toolbar {
    60. position: fixed;
    61. box-sizing: border-box;
    62. padding: 17px 17px;
    63. width: 100%;
    64. height: 45px;
    65. top: 30;
    66. left: 0;
    67. border-top: .906rpx solid #e6e6e6;
    68. border-bottom: .906rpx solid #e6e6e6;
    69. display: flex;
    70. align-items: center;
    71. justify-content: space-between;
    72. background-color: #fff;
    73. z-index: 99;
    74. }
    75. .ql-active {
    76. color: #3388ff;
    77. }

    文章名稱:創(chuàng)新互聯(lián)百度小程序教程:Editor富文本編輯器
    當(dāng)前鏈接:http://www.5511xx.com/article/cojoiic.html