| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- Page({
- data: {
- formats: {},
- readOnly: false,
- placeholder: '开始输入...',
- editorHeight: 300,
- keyboardHeight: 0,
- isIOS: false
- },
- readOnlyChange() {
- this.setData({
- readOnly: !this.data.readOnly
- })
- },
- onLoad() {
- const platform = wx.getSystemInfoSync().platform
- const isIOS = platform === 'ios'
- this.setData({
- isIOS
- })
- const that = this
- this.updatePosition(0)
- let keyboardHeight = 0
- wx.onKeyboardHeightChange(res => {
- if (res.height === keyboardHeight) return
- const duration = res.height > 0 ? res.duration * 1000 : 0
- keyboardHeight = res.height
- setTimeout(() => {
- wx.pageScrollTo({
- scrollTop: 0,
- success() {
- that.updatePosition(keyboardHeight)
- that.editorCtx.scrollIntoView()
- }
- })
- }, duration)
- })
- },
- updatePosition(keyboardHeight) {
- const toolbarHeight = 50
- const {
- windowHeight,
- platform
- } = wx.getSystemInfoSync()
- let editorHeight = keyboardHeight > 0 ? (windowHeight - keyboardHeight - toolbarHeight) : windowHeight
- this.setData({
- editorHeight,
- keyboardHeight
- })
- },
- calNavigationBarAndStatusBar() {
- const systemInfo = wx.getSystemInfoSync()
- const {
- statusBarHeight,
- platform
- } = systemInfo
- const isIOS = platform === 'ios'
- const navigationBarHeight = isIOS ? 44 : 48
- return statusBarHeight + navigationBarHeight
- },
- onEditorReady() {
- const that = this
- wx.createSelectorQuery().select('#editor').context(function (res) {
- that.editorCtx = res.context
- }).exec()
- },
- asd54(e) {
- this.setData({
- htmlT: e.detail.html
- })
- },
- blur() {
- this.editorCtx.blur()
- },
- format(e) {
- let {
- name,
- value
- } = e.target.dataset
- if (!name) return
- // console.log('format', name, value)
- this.editorCtx.format(name, value)
- },
- onStatusChange(e) {
- const formats = e.detail
- this.setData({
- formats
- })
- },
- insertDivider() {
- this.editorCtx.insertDivider({
- success: function () {
- console.log('insert divider success')
- }
- })
- },
- clear() {
- this.editorCtx.clear({
- success: function (res) {
- console.log("clear success")
- }
- })
- },
- removeFormat() {
- this.editorCtx.removeFormat()
- },
- insertDate() {
- const date = new Date()
- const formatDate = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`
- this.editorCtx.insertText({
- text: formatDate
- })
- },
- insertImage() {
- const that = this
- wx.chooseImage({
- count: 1,
- success: function (res) {
- that.editorCtx.insertImage({
- src: res.tempFilePaths[0],
- data: {
- id: 'abcd',
- role: 'god'
- },
- width: '80%',
- success: function () {
- console.log('insert image success')
- }
- })
- }
- })
- }
- })
|