@pluginarch/create-parch
Version:
this is way to create a ui project
95 lines • 3.97 kB
JavaScript
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){}
}