UNPKG

@pluginarch/create-parch

Version:

this is way to create a ui project

95 lines 3.97 kB
export default class GD_Button{ init(data) { var params = JSON.parse(data) const vue = new Vue({ el: '#testButton', data() { return { datacenter: { _id: params.id, _fontSize: params.fontSize, _fontCheckedColor: params.fontCheckedColor, _backCheckedColor: params.backCheckedColor, _backColor: params.backColor, _borderColor: params.borderColor, _textAlignment: params.textAlignment, _defaultButton: params.defaultButton, _cancelButton: params.cancelButton, _wrapText: params.wrapText, _radius: params.radius, _textFill: params.textFill, _visible: params.visible, _lineSpacing: params.lineSpacing, _textOverrun: params.textOverrun, _text: params.text, _clip: params.clip, _adaptive: params.adaptive, _fontFamily: params.fontFamily, _fontStyle: params.fontStyle, _icon: params.icon } } }, methods: { onRightClicked(text) { console.log('onRightClicked', text) }, onDoubleClicked(text) { console.log('onDoubleClicked', text) }, clickHandler(text) { // 点击事件 console.log('clickHandler', text) }, propertyChanged(args) { // 监听属性改变事件 console.log(`事件名:${args[0]},新值:${args[1]},旧值:${args[2]}`) } } }) // instance = window[params.id] this.init( JSON.stringify({ id: 'buttonNo7', visible: '1', // 是否可见 '0'-false '1'-true radius: '5', // 圆角 fontCheckedColor: '#569', // 字体点击颜色 textFill: '#ffffff', // 字体颜色 backCheckedColor: '#1d2000', // 按钮点击颜色 backColor: '#2196f3', // 按钮颜色 borderColor: 'transparent', // 边框颜色 text: 'buttonTest11111111111111111111111111', // 按钮文字 fontSize: '12', // 字体大小 lineSpacing: '0.90', // 字体行距 textAlignment: '1', // 文字对齐方式 '0'-right '1'-center '2'-left '3'-justify defaultButton: '0', // 按钮接收键盘Enter键触发OnAction事件 '0'-false '1'-true cancelButton: '0', // 按钮接收键盘Esc键触发OnAction事件 '0'-false '1'-true wrapText: '0', // 文字自动换行 '0'-false '1'-true /** * textOverrun值 0: ['clip', 'inherit', 'hidden'], 1: ['ellipsis', 'ltr', 'visible'], 2: ['ellipsis', 'ltr', 'hidden'], 3: ['center_ellipsis', 'inherit','hidden'], 4: ['center_word_ellipsis', 'inherit','hidden'], 5: ['ellipsis', 'rtl', 'visible'], 6: ['ellipsis', 'rtl', 'hidden'] */ textOverrun: '1', // 文字超过字数显示 fontFamily: 'sans-serif', // 字体类型,如Microlsoft Yahei等 fontStyle: '1' // 字体粗细 '0': REGULAR '1': BOLD // icon:'isw_wind.png' }) ) } update(attr){ var property = JSON.parse(str) for (const key in property) { if (Object.hasOwnProperty.call(instance, key)) { instance[key] = property[key] } } // instance.params = Object.assign({}, instance.params, property) } destroy(attr){} }