iview日期组件不可选日期怎么用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iview日期组件不可选日期怎么用相关的知识,希望对你有一定的参考价值。

参考技术A iView 是一套基于 Vue.js的开源 UI组件库,主要服务于 PC界面的中后台产品。 其中的 DatePicker日期选择器可以选择或输入日期,支持年、月、日期等类型

iview的table组件中加入超链接组件,可编辑组件,选择组件,日期组件


这篇文章主要介绍了iview的table组件中使用选择框,日期,可编辑表格,超链接等组件。

1.select选择组件

// tableColumn数组响应对象需要传入一个固定的option数组,如果该数组是异步动态生成的该组件不能正常渲染,因为在获取option数组之前table渲染时option是undefined。
supportSelect(item) {
     item.render = (h, params)=>{
         return h('Select', {
             props: {
                 value: params.row[params.column.key],
                 size: 'small',
                 transfer: true
             },
             on: {
                 'on-change': (val)=>{
                     this.insideTableData[params.index][params.column.key] = val
                 }
             },
         },item.option.map(item=>{
             return h('Option', {
                 props: {
                     value: item.value || item,
                     label: item.label || item
                 }
             }, item.label || item)
         }))
     }
     return item
 }

2.可编辑表格

// 可编辑表格使用了contenteditable属性,使得表格编辑更加简单干净
supportEdit(item, index){
    item.render = (h, params)=>{
        return h('div', {
            style: {
                padding: '4px 0',
                width: '100%'
            },
            props: {
                value: this.insideTableData[params.index][params.column.key]
            },
            attrs: {
                contenteditable: this.editable,
                title: '点击可编辑'
            },
            on: {
                'blur': evt=>{
                    evt.target.value = evt.target.innerText || params.row[params.column.key]
                    params.row[params.column.key] = evt.target.innerText
                    this.insideTableData[params.index][params.column.key] = evt.target.innerText
                }
            }
        }, params.row[params.column.key])
    }
    return item
}

3.日期组件

// 使用iview的DatePicker组件渲染就行
supportDate(item){
    item.render = (h, params)=>{
        return h('DatePicker', {
            props: {
                clearable: false,
                placeholder: '请选择日期',
                value: params.row[params.column.key],
                type: 'date',
                format: 'yyyy-MM-dd',
                size: 'small'
            },
            on: {
                'on-change': (val)=>{
                    this.insideTableData[params.index][params.column.key] = val
                }
            }
        })
    }
    return item
}

4.表格中添加超链接

// 这里的handleLink方法是在table组件中定义好的使用$emit让父组件调用
supportLink(item){
    item.render = (h, params)=>{
        return h('a', {
            style: {
                textDecoration: 'underline'
            },
            on: {
                'click': ()=>{
                    this.handleLink(params.row)
                }
            }
        }, params.row[params.column.key])
    }
    return item
}

以上是关于iview日期组件不可选日期怎么用的主要内容,如果未能解决你的问题,请参考以下文章

Vue组件(28)做一个更好用的查询控件(四)把日期查询做到极致

单行日历组件WeekCalendar

单行日历组件WeekCalendar

Ant Design中的日期组件时间限制

利用jmSlip写一个移动端顶部日历选择组件

使用可为空和不可为空的日期值创建 Blazor 自定义日期选择器组件