美文网首页
vue渲染函数 & JSX

vue渲染函数 & JSX

作者: 岚平果 | 来源:发表于2020-03-12 10:21 被阅读0次
1. 渲染 input
render : (h, {row}) => {
  return  (
     // event是事件对象
      <input value={row.num}  onBlur={() => this.changeNum(row,event)} />
  )
}
2. v-for
render: (h, {row}) => {
  return (
       row.icon.map(item => {
            return <img src={item} onClick={() =>  this.lookImage(item)} />
       }
   )
}
3. v-if 条件, 多个需要用【<div></div>】包裹起来
{
    title: '图片/视频',
    align: "center",
    key: "imgUrl",
    render:(h, {row}) => {
       return (
           <div>
              {row.position === "7" && <video src={row.link} controls="controls" style="height: 100px;margin-top: 5px;"></video>}
              {row.position !== "7" && <img src={row.link} style="height: 100px;margin-top: 5px;" />}
           </div>
         )
     },
},
4. iview中的poptip组件添加事件
render: (h, {row}) => {
   return (
     <div>
           {row.status === 2 && <icon type="md-archive" size='26' color= '#333' title="导出订单" class='handle' onClick={() => this.exportOrder(row)}/>}
            <icon type="ios-create" size='28' color= '#218da0' title="编辑"  class= 'look' onClick={() => this.getGoosDetail(row)}/>
           <poptip confirm title="要删除订单吗 ?" on-on-ok={() => this.deleteSeries(row)}  >
             <icon type="ios-trash" size='28' color= '#333' title="删除" class='delete'/>
          </poptip>
      </div>
  )
}
5. input 数值
 {
     title: "奖励积分",
     align: "center",
     key: "incentiveIntegral",
     render: (h, params) => {
         return h('Input',{
              props: {
                  size: 'small',
                  type: 'number',
                  value: params.row.incentiveIntegral,
              },
              on: {
                 'on-change': (e) => {
                      params.row.incentiveIntegral = e.target.value
                      this.dailyData[params.index] = params.row
                      },
                'on-blur': () => {
                    // 用这个方法可以获取当前修改数字后的值 
                     this.updateNum(params)
               }
            }
         })
    }  
},

Tooltip

{
  title: "地区",
  align: "center",
  key: "areaname",
  render: (h, { row }) => {
     let texts = row.areaname;
     if (row.areaname !== null) {
       if (row.areaname.length > 12) {
            texts = row.areaname.slice(0, 12) + "...";
        } else {
            texts = row.areaname;
        }
     }
     return h("div", [
        h("Tooltip",{
              props: {
                    placement: "top",
                    transfer: true
             }
         },[texts,h("span",{
                slot: "content",
                style: {
                     whiteSpace: "normal"
                }
         },row.areaname)])
       ]);
     }
},

相关文章

  • Vue中的render渲染函数

    Vue中的render渲染函数 render函数只支持jsx写法创建虚拟Dom节点。vue组件中的template...

  • vue 渲染函数&jsx

    jsx react模板渲染语法

  • vue渲染函数 & JSX

    1. 渲染 input 2. v-for 3. v-if 条件, 多个需要用【

    】包裹起来 4...

  • vue 渲染函数 & JSX

    渲染函数 render 通过渲染函数渲染组件 渲染后: JSX 通过以上方式创建虚拟DOM,语法比较繁琐。可以使用...

  • Vue 渲染函数 & JSX

    Vue - template Vue 官方推荐使用template语法来创建应用,虽然写法像html,但Vue最终...

  • 【vue学习】渲染函数&jsx

    Vue 推荐在绝大多数情况下使用模板来创建你的 HTML。然而在一些场景中,你真的需要 JavaScript 的完...

  • ###VUE下

    渲染函数和jsx 在vue中我们可以不用template来指定组件的模板,而是用render函数来创建虚拟dom结...

  • 模板文法

    1.底层实现上,vue是将模板编译成 虚拟dom渲染函数。 2.可以用jsx编写render函数,来替代templ...

  • 渲染函数&JSX

    1.基础 render函数提供javascript完全编程能力 2.节点,树以及虚拟DOM 虚拟DOM:vue通过...

  • 渲染函数&JSX

    渲染函数 背景 Vue推荐在绝大多数情况下使用模版来创建你的HTML。然后在一些场景中,你真的需要JavaScri...

网友评论

      本文标题:vue渲染函数 & JSX

      本文链接:https://www.haomeiwen.com/subject/oddyjhtx.html