mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	表单构建布局型组件新增按钮
This commit is contained in:
		@@ -406,6 +406,21 @@ export const layoutComponents = [
 | 
			
		||||
    layoutTree: true,
 | 
			
		||||
    children: [],
 | 
			
		||||
    document: 'https://element.eleme.cn/#/zh-CN/component/layout'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    layout: 'colFormItem',
 | 
			
		||||
    label: '按钮',
 | 
			
		||||
    changeTag: true,
 | 
			
		||||
    labelWidth: null,
 | 
			
		||||
    tag: 'el-button',
 | 
			
		||||
    tagIcon: 'button',
 | 
			
		||||
    span: 24,
 | 
			
		||||
    default: '主要按钮',
 | 
			
		||||
    type: 'primary',
 | 
			
		||||
    icon: 'el-icon-search',
 | 
			
		||||
    size: 'medium',
 | 
			
		||||
    disabled: false,
 | 
			
		||||
    document: 'https://element.eleme.cn/#/zh-CN/component/button'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -107,6 +107,18 @@ const layouts = {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const tags = {
 | 
			
		||||
  'el-button': el => {
 | 
			
		||||
    const {
 | 
			
		||||
      tag, disabled
 | 
			
		||||
    } = attrBuilder(el)
 | 
			
		||||
    const type = el.type ? `type="${el.type}"` : ''
 | 
			
		||||
    const icon = el.icon ? `icon="${el.icon}"` : ''
 | 
			
		||||
    const size = el.size ? `size="${el.size}"` : ''
 | 
			
		||||
    let child = buildElButtonChild(el)
 | 
			
		||||
 | 
			
		||||
    if (child) child = `\n${child}\n` // 换行
 | 
			
		||||
    return `<${el.tag} ${type} ${icon} ${size} ${disabled}>${child}</${el.tag}>`
 | 
			
		||||
  },
 | 
			
		||||
  'el-input': el => {
 | 
			
		||||
    const {
 | 
			
		||||
      disabled, vModel, clearable, placeholder, width
 | 
			
		||||
@@ -272,6 +284,15 @@ function attrBuilder(el) {
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// el-buttin 子级
 | 
			
		||||
function buildElButtonChild(conf) {
 | 
			
		||||
  const children = []
 | 
			
		||||
  if (conf.default) {
 | 
			
		||||
    children.push(conf.default)
 | 
			
		||||
  }
 | 
			
		||||
  return children.join('\n')
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// el-input innerHTML
 | 
			
		||||
function buildElInputChild(conf) {
 | 
			
		||||
  const children = []
 | 
			
		||||
 
 | 
			
		||||
@@ -26,6 +26,11 @@ function vModel(self, dataObject, defaultValue) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const componentChild = {
 | 
			
		||||
  'el-button': {
 | 
			
		||||
    default(h, conf, key) {
 | 
			
		||||
      return conf[key]
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  'el-input': {
 | 
			
		||||
    prepend(h, conf, key) {
 | 
			
		||||
      return <template slot="prepend">{conf[key]}</template>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user