UNPKG

asia-weex-vue-render4light

Version:

Web renderer for weex project written in Vue DSL.

79 lines (74 loc) 2.38 kB
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ import './style.css' function getTextarea (weex) { const { extractComponentStyle } = weex const { inputCommon } = weex.mixins const { extend, mapFormEvents } = weex.utils return { name: 'weex-textarea', mixins: [inputCommon], props: { value: String, placeholder: String, disabled: { type: [String, Boolean], default: false }, autofocus: { type: [String, Boolean], default: false }, rows: { type: [String, Number], default: 2 }, returnKeyType: String }, render (createElement) { /* istanbul ignore next */ // if (process.env.NODE_ENV === 'development') { // validateStyles('textarea', this.$vnode.data && this.$vnode.data.staticStyle) // } const events = extend(mapFormEvents(this)) return createElement('html:textarea', { attrs: { 'weex-type': 'textarea', value: this.value, disabled: (this.disabled !== 'false' && this.disabled !== false), autofocus: (this.autofocus !== 'false' && this.autofocus !== false), placeholder: this.placeholder, rows: this.rows, 'return-key-type': this.returnKeyType }, domProps: { value: this.value }, on: this.createKeyboardEvent(events), staticClass: 'weex-textarea weex-el', staticStyle: extractComponentStyle(this) }) } } } export default { init (weex) { weex.registerComponent('textarea', getTextarea(weex)) } }